SQL

Delphi

05/09/2003

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.


Julianomc

Julianomc

Curtidas 0

Respostas

Joilson_gouveia

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´)


GOSTEI 0
Julianomc

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

Joilson_gouveia

05/09/2003

Então, por que não fazer um select simples?

SELECT * FROM TB_PROJETOS WHERE SITUACAO=´L´


GOSTEI 0
Julianomc

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.


GOSTEI 0
POSTAR