none
Consult SQL com * from traz resultados corretos e quando selecionado apenas algumas colunas não traz tudo RRS feed

  • Pergunta

  • Boa noite Srs.

    Estou com uma incógnita que está me deixando louco no meu SQL Server, quando realizo uma consulta simples, por exemplo:

    Select * from SL2010 where L2_EMISSAO BETWEEN '20170701' AND '20170731' 


    Ele me resulta tudo o que tem nessa tabela que possua o campo L2_EMISSAO entre essas datas. Porém, ele traz todos os campos desta tabela. Agora se eu faço a consulta para trazer somente os campos que preciso, por exemplo:

    SELECT L2_FILIAL AS 'LOJA', L2_DESCRI AS 'DESCRICAO', L2_EMISSAO AS 'DATA'
    
    FROM SL2010
    
    WHERE L2_EMISSAO BETWEEN '20170701' AND '20170731'
    
    GROUP BY L2_FILIAL, L2_DESCRI, L2_EMISSAO

    Onde nessa consulta diferentemente da primeira, é que trago somente os campos L2_FILIAL, L2_DESCRI E L2_EMISSAO, porem tem alguns registros que ele não traz, digamos que eu possua 120 registro no banco neste período, com o * from ele traz os 120, ai somente com os campos que preciso, ele traz 115 registro, então eu fui registro a registro para ver quais eram os registros que ele não estava trazendo, e esses 5 registros não tem nada de diferente dos outros registros, não tem motivo para ele não trazer.

    Alguma sugestão do porque disso?

    Observei que quando tiro o GROUP BY ele traz a informação corretamente, é como se ele estivesse agrupando algum registro com outro, que não deveria..

    Obrigado!


    terça-feira, 8 de agosto de 2017 02:13

Respostas