Sql em 3 tabelas muito lento
11/06/2019
0
SELECT a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor FROM tblCorteOrdem AS a LEFT JOIN tblCorteModeloComponentes As b ON a.Artigo = b.Artigo WHERE a.Ordem NOT IN ( SELECT c.Ordem FROM tblCorteOrdemSubSetor AS c GROUP BY c.Ordem) GROUP BY a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor ORDER BY a.Ordem
Tabela a 679 registros
Tabela b 22531 registros
Tabela c 1988 registros
Alyson Martins
Posts
12/06/2019
Thiago Moreno
SELECT a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor FROM tblCorteOrdem AS a LEFT JOIN tblCorteModeloComponentes As b ON a.Artigo = b.Artigo WHERE NOT exists ( select * from (SELECT distinct Ordem FROM tblCorteOrdemSubSetor) c where c.ordem=a.ordem ) GROUP BY a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor ORDER BY a.Ordem
12/06/2019
Emerson Nascimento
SELECT a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor FROM tblCorteOrdem AS a LEFT JOIN tblCorteModeloComponentes AS b ON b.Artigo = a.Artigo LEFT JOIN tblCorteOrdemSubSetor AS c ON c.Ordem = a.Ordem WHERE c.Ordem is null GROUP BY a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor ORDER BY a.Ordem
12/06/2019
Alyson Martins
SELECT a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor FROM tblCorteOrdem AS a LEFT JOIN tblCorteModeloComponentes As b ON a.Artigo = b.Artigo WHERE NOT exists ( select * from (SELECT distinct Ordem FROM tblCorteOrdemSubSetor) c where c.ordem=a.ordem ) GROUP BY a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor ORDER BY a.Ordem
Demorou ainda Thiago.
12/06/2019
Alyson Martins
SELECT a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor FROM tblCorteOrdem AS a LEFT JOIN tblCorteModeloComponentes AS b ON b.Artigo = a.Artigo LEFT JOIN tblCorteOrdemSubSetor AS c ON c.Ordem = a.Ordem WHERE c.Ordem is null GROUP BY a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor ORDER BY a.Ordem
Deu certo Emerson só fiz a seguinte mudança.
SELECT a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor FROM (tblCorteOrdem AS a LEFT JOIN tblCorteModeloComponentes AS b ON a.Artigo = b.Artigo ) LEFT JOIN tblCorteOrdemSubSetor AS c ON c.Ordem = a.Ordem WHERE IsNull(c.Ordem) GROUP BY a.Ordem, a.Artigo, a.dtInicial, a.dtFinal, a.Turno, b.SubSetor ORDER BY a.Ordem
Clique aqui para fazer login e interagir na Comunidade :)