Luiz Fernando Posted March 15, 2015 Report Share Posted March 15, 2015 Colegas ve se alguém consegue me ajudar(de novo rsrsrs) cSql="SELECT n.notafiscal,n.tipo,n.cliente,c.razao" cSql+=" FROM nfe as n" cSql+=" LEFT JOIN cliente as c on n.cliente = c.codigo" o que preciso é o seguinte, se n.tipo=1 , fazer um left join na tabela de cliente conforme exemplo acima, mais se n.tipo=0, queria fazer o left join na tabela de fornecedor, pois no resultado desta select posso ter os dois valores na variavel n.tipo cSql+=" LEFT JOIN forncedor as f on n.cliente = f.codigo" alguém teria alguma dica Obrigado Luiz Fernando Quote Link to comment Share on other sites More sharing options...
kleyber Posted March 15, 2015 Report Share Posted March 15, 2015 Luiz Fernando, Tente assim: cSql="SELECT n.notafiscal,n.tipo,n.cliente,c.razao" cSql+=" FROM nfe as n" cSql+=" LEFT JOIN cliente as c on n.cliente = c.codigo AND n.tipo=1" cSql+=" LEFT JOIN fornecedor as f on n.cliente = f.codigo AND n.tipo=0" Quote Link to comment Share on other sites More sharing options...
Luiz Fernando Posted March 15, 2015 Author Report Share Posted March 15, 2015 Luiz Fernando, Tente assim: cSql="SELECT n.notafiscal,n.tipo,n.cliente,IF(n.tipo='1',c.razao,f.razao)" cSql+=" FROM nfe as n" cSql+=" LEFT JOIN cliente as c on n.cliente = c.codigo AND n.tipo=1" cSql+=" LEFT JOIN fornecedor as f on n.cliente = f.codigo AND n.tipo=0" Vlw Kleyber funcionou certinho... Obrigado Luiz Fernando Quote Link to comment Share on other sites More sharing options...
mkyx Posted March 15, 2015 Report Share Posted March 15, 2015 Luis Fernando, eu acredito que onde você colocou a cláusula ON, deveria ser colocado a cláusula WHERE. Essa a minha dica, se eu estiver errado, favor corrigir. Quote Link to comment Share on other sites More sharing options...
kleyber Posted March 15, 2015 Report Share Posted March 15, 2015 Mkyx, Essa eu não entendi... rsrsrsrs trocar o ON por WHERE? no LEFT JOIN? É isso mesmo ou eu entendi errado? Quote Link to comment Share on other sites More sharing options...
mkyx Posted March 17, 2015 Report Share Posted March 17, 2015 WHERE n.cliente=f.código and n.tipo=0 Quote Link to comment Share on other sites More sharing options...
kleyber Posted March 17, 2015 Report Share Posted March 17, 2015 Entendi o que quiseste dizer... e teu raciocínio está correto. A diferença é que no caso do Luiz ele precisa ter 2 tabelas relacionadas ao mesmo tempo com a tabela principal e por isso é necessário 2 joins. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.