如何选择同时满足这两个条件的帐户,从本质上删除非重复帐户或仅选择正确的帐户作为开始


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。此查询为我提供了也只满足已验证或设置的帐户,我需要两者。

示例数据类似于我正在使用的示例表的图像以及我想要返回的内容

我做了表格的图像作为示例复制粘贴它们没有正确显示它们。

如果您只想要帐户,这里有一种方法:

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。 另外,外部联接对于您提出的问题没有意义。

最新更新