我不知道如何将IN
运算符用于两列。
以下是对一列的查询:
select *
from Mouvement_Final T
where T.Comp_Id in (select Comp_Id from Compte where Comp_Idcategorie='AOPT')
我希望在Comp_Idcategorie='AOPT'
两列Comp_Id
和Comp_idcouleur
时过滤。
答案 0 :(得分:5)
只需使用exists
即可。它概括得更好。对于您的代码:
select T.*
from Mouvement_Final T
where exists (select Comp_Id
from Compte c
where c.Comp_Idcategorie = 'AOPT' and
c.Comp_Id = T.Comp_Id
);
你应该能够看到这是如何推广到更多条件的。
答案 1 :(得分:2)
您可以将JOIN
与distinct
select distinct T.*
from Mouvement_Final T
join Compte C on T.Comp_Id = C.Comp_Id and
T.Comp_idcouleur = C.Comp_idcouleur and
C.Comp_Idcategorie = 'AOPT'