none
Subqueryes RRS feed

  • Pergunta

  • Pessoal estou com problema estou avançado no treinamento estou no modulo de subqueryes e nele tem um exemplo de subqueryes usando a clausula EXISTS e IN e exemplo com IN esta dando o seguinte erro "Somente uma expressão pode ser especificada na lista de seleção quando a subconsulta não é introduzida com EXISTS." Vou postar a subqueryes:

    SELECT * FROM CLIENTES
    WHERE CODCLI IN (SELECT * FROM PEDIDOS 
    				WHERE CODCLI = CLIENTES.CODCLI AND 
    					  DATA_EMISSAO BETWEEN '1.1.2007' AND '31.1.2007');

    segunda-feira, 3 de outubro de 2016 14:46

Respostas

  • Boa tarde tudo bem?

    No seu caso está dando erro pois precisa especificar qual campo irá comparar.

    Veja o exemplo como deveria ser...

    SELECT * FROM CLIENTES
    WHERE CODCLI IN (SELECT CODCLI FROM PEDIDOS 
    				WHERE DATA_EMISSAO BETWEEN '1.1.2007' AND '31.1.2007');
    Diferente do exists não pode ter o * na subquery.


    Atenciosamente, Ruberlei. www.t-sql.com.br



    • Editado Ruberlei segunda-feira, 3 de outubro de 2016 15:24
    • Sugerido como Resposta Ruberlei segunda-feira, 3 de outubro de 2016 15:24
    • Marcado como Resposta CLAUDIO JOSE segunda-feira, 3 de outubro de 2016 15:37
    segunda-feira, 3 de outubro de 2016 15:06

Todas as Respostas

  • Boa tarde tudo bem?

    No seu caso está dando erro pois precisa especificar qual campo irá comparar.

    Veja o exemplo como deveria ser...

    SELECT * FROM CLIENTES
    WHERE CODCLI IN (SELECT CODCLI FROM PEDIDOS 
    				WHERE DATA_EMISSAO BETWEEN '1.1.2007' AND '31.1.2007');
    Diferente do exists não pode ter o * na subquery.


    Atenciosamente, Ruberlei. www.t-sql.com.br



    • Editado Ruberlei segunda-feira, 3 de outubro de 2016 15:24
    • Sugerido como Resposta Ruberlei segunda-feira, 3 de outubro de 2016 15:24
    • Marcado como Resposta CLAUDIO JOSE segunda-feira, 3 de outubro de 2016 15:37
    segunda-feira, 3 de outubro de 2016 15:06
  • Isso mesmo valeu bora que tem muito ainda para aprender rs
    segunda-feira, 3 de outubro de 2016 15:37