Consulta SQL

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
INICIANTE_ORACLE
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qua, 05 Jan 2011 3:19 pm
Localização: ARAÇATUBA

Desejo consultar todos produtos que são da CATEGORIA: 'ALIMENTOS','BEBIDAS','LIMPEZA'.

E os que são da categoria 'ALIMENTO' a forma de pagamento tem que ser diferente de 'A-VISTA'.

Valeu.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

Selecionar tudo

select * 
from produtos
where categoria in ('ALIMENTOS','BEBIDAS','LIMPEZA')
and forma_pgt <> 'A-VISTA'
INICIANTE_ORACLE
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qua, 05 Jan 2011 3:19 pm
Localização: ARAÇATUBA

victorhugomuniz
Somente para os que são da categoria 'ALIMENTO' que forma de pagamento tem que ser diferente de 'A-VISTA'.

Alguma Dica ?
burga
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Qui, 26 Nov 2009 1:05 pm
Localização: SP
Ricardo H. Tajiri

Selecionar tudo

select *
from produtos
where categoria in ('ALIMENTOS','BEBIDAS','LIMPEZA')
or
forma_pgt <> 'A-VISTA' and categoria = 'ALIMENTO';
fneto
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Sex, 18 Mar 2011 7:01 pm
Localização: SP
fneto

Esta query resolverá:

Selecionar tudo

SELECT * FROM produtos WHERE (categoria,forma_pgt) 
NOT IN
              (SELECT categoria, forma_pgt WHERE categoria = 'ALIMENTOS'
                                                           AND forma_pgt LIKE 'A- VISTA');

Com isso você exclue as colunas que não que quer.
(É um exemplo de 'multiple column subquery'.)

Um abraço!

Fernando Neto

fernandointernet@hotmail.com
fneto
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Sex, 18 Mar 2011 7:01 pm
Localização: SP
fneto

Desculpa faltou o FROM produtos na subquery:

Aqui o código certo:

Selecionar tudo

SELECT * FROM produtos WHERE (categoria,forma_pgt)
NOT IN
(SELECT categoria, forma_pgt FROM produtos  WHERE categoria = 'ALIMENTOS'
AND forma_pgt LIKE 'A- VISTA');

Fernando Neto
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes