SELECT DISTINCT e.account, c.complete, c.value, c.step, r.user
FROM relationship r
LEFT OUTER JOIN entity e ON r.relationshipenid - e.entityid
FULL OUTER JOIN process c ON r.relationshipid = c.processid
WHERE c.step IN ('Verified','Setup')
AND c.complete IN ('Y','Y')
这个SQL查询主要是我想要的结果。虽然我只想要符合验证和设置的e.account。这个查询给了我同样满足验证或设置的帐户,我需要两者。
示例数据会是这样的 Image of Sample Tables I am Using and What I want to have Returned
我为表格做了一个例子来复制粘贴它们并没有正确显示它们。
答案 0 :(得分:0)
如果您只想要帐户,可以使用以下方法:
SELECT e.account
FROM relationship r JOIN
entity e
ON r.relationshipenid = e.entityid JOIN
process c
ON r.relationshipid = c.processid
WHERE c.step IN ('Verified', 'Setup') AND c.complete IN ('Y', 'Y')
GROUP BY e.account
HAVING COUNT(DISTINCT c.step) = 2;
注意:您的外连接没用。无论如何,where
子句将它们转换为inner join
。另外,外部联接对你提出的问题没有意义。