我打算根据三个字段的元组选择PH
表中与RU
表中的记录匹配的所有记录:(f1, f2, f3)
。
我不仅希望包含f1
的记录和包含f2
的记录以及包含f3
但记录中包含所有这三个字段的记录。
我该怎么办?加入?
感谢您的帮助!
答案 0 :(得分:1)
对这三列使用IN
条件。
以下是标准ANSI SQL:
select *
from ph
where (f1, f2, f3) in (select r.f1, r.f2, r.f3
from ruh r)
答案 1 :(得分:0)
我不确定你在这里想要实现什么,因为你的问题缺乏细节。但是根据我的收集,您可能需要使用set operator INTERSECT
。例如:
SELECT f1, f2, f3 FROM PH
INTERSECT
SELECT f1, f2, f3 FROM RU;
答案 2 :(得分:0)
您可以使用相关子查询来检查RU
中的匹配项:
SELECT
*
FROM
PH
WHERE
EXISTS(
SELECT
1
FROM
RU
WHERE
RU.f1=PH.f1 AND
RU.f2=PH.f2 AND
RU.f3=PH.f3
);