SQL
Tenho uma tabela com cod_projeto, cod_itens e Situacao. Existe vários cod_itens para um cod_projeto. Preciso montar uma query para verificar os cod_projetos, com os itens que tenham situacao igual a ´L´, mas se existir um cod_item deste projeto com situacao ´R´ ou ´C´ ele não deve me trazer este projeto. Tem que ter todos os itens do projeto com situacao ´L´.
Alguém me ajuda?
Obrigado.
Alguém me ajuda?
Obrigado.
Julianomc
Curtidas 0
Respostas
Joilson_gouveia
05/09/2003
Tente isso:
SELECT A.COD_PROJETO,B.COD_ITENS FROM TB_PROJETOS A INNER JOIN TB_ITENS_PROJETO B ON A.COD_PROJETO=B.COD_PROJETO
WHERE A.CODPROJETO NOT IN (SELECT COD_PROJETO FROM TB_ITENS_PROJETO WHERE SITUACAO=´R´ OR SITUACAO=´C´)
SELECT A.COD_PROJETO,B.COD_ITENS FROM TB_PROJETOS A INNER JOIN TB_ITENS_PROJETO B ON A.COD_PROJETO=B.COD_PROJETO
WHERE A.CODPROJETO NOT IN (SELECT COD_PROJETO FROM TB_ITENS_PROJETO WHERE SITUACAO=´R´ OR SITUACAO=´C´)
GOSTEI 0
Julianomc
05/09/2003
Não são duas tabelas. É uma tabela com esses 03 campos, onde a chave é cod_projeto e cod_itens.
GOSTEI 0
Joilson_gouveia
05/09/2003
Então, por que não fazer um select simples?
SELECT * FROM TB_PROJETOS WHERE SITUACAO=´L´
SELECT * FROM TB_PROJETOS WHERE SITUACAO=´L´
GOSTEI 0
Julianomc
05/09/2003
Se eu fizer isso, deixo de verificar se existe outras situações iguais a ´R´ ou ´C´.
Por exemplo:
Cod_projeto Cod_item Situacao
3258 9865 L
3258 9866 L
3258 9867 R
3259 9945 L
3259 9946 L
Se eu fizer simplesmente essa consição, eu pego o projeto 3258 e na verdade ele não posso pegá-lo uma vez que existe uma siituacao ´R´ nele.
Por exemplo:
Cod_projeto Cod_item Situacao
3258 9865 L
3258 9866 L
3258 9867 R
3259 9945 L
3259 9946 L
Se eu fizer simplesmente essa consição, eu pego o projeto 3258 e na verdade ele não posso pegá-lo uma vez que existe uma siituacao ´R´ nele.
GOSTEI 0