小编use*_*165的帖子

IF/ELSE LEFT JOIN

我需要用IF/ELSE进行LEFT JOIN,这是我的查询:

IF (M.idArtVar=null, 
    LEFT JOIN ArtMaga G 
           ON (G.idMagazzino = V.idMagazzino AND G.idArticolo = M.idArticolo), 
    LEFT JOIN ArtMaga G 
           ON (G.idMagazzino = V.idMagazzino AND G.idArticolo = M.idArticolo AND 
               G.idArtVar = M.idArtVar)
   )   
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我也尝试过这样:

    LEFT JOIN ArtMaga AM 
           ON IF(M.idArtVar IS NULL,
                 (AM.idMagazzino = TM.idMagazzino AND AM.idArticolo = A.idArticoli),
                 (AM.idMagazzino = TM.idMagazzino AND AM.idArtVar = M.idArtVar)) 
Run Code Online (Sandbox Code Playgroud)

但是这个查询太慢了.我能怎么做?谢谢.

编辑:这是完整的查询:

    SELECT F.Codice AS "CodiceFornitore", F.RagioneSociale AS "RagioneSocialeFornitore", A.ArticoloFornitore, C.Descrizione AS CatDes,  S.Descrizione AS Settore, U.Sigla AS Um, U2.Sigla AS Um2, A.Moltiplicatore …
Run Code Online (Sandbox Code Playgroud)

mysql join

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

join ×1

mysql ×1