ajuda no trabalho
tenho duas tabelas :
CLIENTE(CODCLI,NOME)
PRODUTO(CODPROD,NOME)
COMPRA(CODCOMPRA,CODCLI,CODPROD,DATA)
COMO DESCOBRIR QUAL CLINETE COMPROU TODOS OS PRODUTOS
STOU PRECISANDO
CLIENTE(CODCLI,NOME)
PRODUTO(CODPROD,NOME)
COMPRA(CODCOMPRA,CODCLI,CODPROD,DATA)
COMO DESCOBRIR QUAL CLINETE COMPROU TODOS OS PRODUTOS
STOU PRECISANDO
Pereiramarcos
Curtidas 0
Respostas
Motta
13/02/2006
depende do bd , no Oracle fez ...
Tinha uma solução classica com 2 not in´s mas não me lembro agora
select CODCLI,count(distinct CODPROD) from COMPRA group by CODCLI having count(distinct CODPROD) = (select count(*) from PRODUTO)
Tinha uma solução classica com 2 not in´s mas não me lembro agora
GOSTEI 0
Pereiramarcos
13/02/2006
valeu motta, muito obrigado, eu tb queria lembrar essa solucao classica ate para entender, fiz isso mas ja faz algum tempo, mas como fico fazendo queries faceis como pequenas contagems, essa tem uma solucao legal. . . so que nao sei onde encontrala, mas de qualquer jeito muito obrigado...
GOSTEI 0
Motta
13/02/2006
Acho que eram dois not exists
Seria : Diga os clientes que não exista produto que eleas nao tenha compado
Deve ter na minha máquina de casa, de um curso que fiz na PUC a tempos se achar posto
Seria : Diga os clientes que não exista produto que eleas nao tenha compado
Deve ter na minha máquina de casa, de um curso que fiz na PUC a tempos se achar posto
GOSTEI 0
Pereiramarcos
13/02/2006
Por acaso foi com o Paulinho / Rubens, e dela que quero lembra isso. . .
valeu !!!!!!!!
valeu !!!!!!!!
GOSTEI 0
Motta
13/02/2006
Exato :
Paulinho ´não menosprezem o problema ....´
aqui vai , não achei a def. dastabelas mas acho que ajuda ....
--10. Alunos que realizaram todas as disciplinas do seu curso.
SELECT A.MATRICULA, A.NOME
FROM ALUNO A
WHERE NOT EXISTS
(SELECT *
FROM POSSUI P
WHERE A.CODIGO_CURSO=P.CODIGO_CURSO AND
NOT EXISTS
(SELECT *
FROM REALIZOU R
WHERE A.MATRICULA = R.MATRICULA AND
P.COD_DISCIP = R.CODIGO_DISCIP));
Paulinho ´não menosprezem o problema ....´
aqui vai , não achei a def. dastabelas mas acho que ajuda ....
--10. Alunos que realizaram todas as disciplinas do seu curso.
SELECT A.MATRICULA, A.NOME
FROM ALUNO A
WHERE NOT EXISTS
(SELECT *
FROM POSSUI P
WHERE A.CODIGO_CURSO=P.CODIGO_CURSO AND
NOT EXISTS
(SELECT *
FROM REALIZOU R
WHERE A.MATRICULA = R.MATRICULA AND
P.COD_DISCIP = R.CODIGO_DISCIP));
GOSTEI 0
Motta
13/02/2006
Se vacilar até fizemos o curso na mesma turma , lembro que não resolvi como ele queria (por subtracão) mas ele até elogiou a minha solução (a do count distinct) , quando vi sua questão lembrei do curso.
Falou !
Falou !
GOSTEI 0
Pereiramarcos
13/02/2006
é possivel, valeu . . .. :P
GOSTEI 0