Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

eduardo2

[Resolvido] Como resolver sem usar operador IN

Recommended Posts

Alguem poderia me ajudar nesta questão abaixo ??

 

 

Desenvolver a consulta abaixo sem utilizar operador IN. Este operador não pode ser usado nenhuma

vez no caso.

 

SELECT c.codcli, c.nome

FROM cliente c

WHERE c.codcli IN

(SELECT e.codcli FROM equipamento e, tipoequipamento t

WHERE e.codtipoequip=t.codtipoequip AND t.descricao='L3G75Q')

AND c.codcli NOT IN

(SELECT e.codcli FROM equipamento e, tipoequipamento t

WHERE e.codtipoequip=t.codtipoequip AND t.descricao='A9F11I')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então...

 

Tentei replicar tuas tabelas com os campos essenciais nessa consulta, e inseri uns dados pra teste bem simples. Executei a tua consulta e ela me trouxe 1 linha, me baseei nesse resultado pra desenvolver uma nova, e com esta abaixo eu trouxe a mesma coisa:

 

SELECT DISTINCT C.CODCLI, C.NOME FROM CLIENTE C
   JOIN EQUIPAMENTO E ON E.CODCLI = C.CODCLI 
   JOIN TIPOEQUIPAMENTO T ON E.CODTIPOEQUIP = T.CODTIPOEQUIP 
WHERE 
   EXISTS (
       SELECT E.CODCLI FROM EQUIPAMENTO E 
       JOIN TIPOEQUIPAMENTO T ON E.CODTIPOEQUIP = T.CODTIPOEQUIP 
       WHERE T.DESCRICAO = 'L3G75Q' AND E.CODCLI = C.CODCLI
   )
AND 
   NOT EXISTS (
       SELECT E.CODCLI FROM EQUIPAMENTO E 
       JOIN TIPOEQUIPAMENTO T ON E.CODTIPOEQUIP = T.CODTIPOEQUIP 
       WHERE T.DESCRICAO = 'A9F11I' AND E.CODCLI = C.CODCLI        
   );

Duvido muito que ela atenda a tua solicitação, mas se funcionar foi um milagre da coincidência.

 

Fica mais fácil se você passar os código de criação das tabelas, e códigos de inserção dos dados que tem no teu banco cara. E disser o que tu precisa retornar.

 

Fico no aguardo pra saber se teu certo, e a disposição pra ajudar.

 

Abrass.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá...

Isso já resolve meu problema...

Para mim os dois jeitos retornam a mesma coisa, entao acredito que seja isso...

 

Muito obrigado mesmo...

Me ajudou muito

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.