根据标题表中的值,我想选择一组不同的详细信息表。如果标题表的状态为2
或更高,则应选择状态为2
或更高的详细信息。 请注意,de 值并不总是相等的。
简化语句示例
SELECT * FROM DETAIL d
INNER JOIN HEADER h on h.key=d.key
WHERE CASE WHEN h.status < 2 THEN d.status <2 ELSE d.status >=2 END
您可以使用简单的OR
-语句选择对应于标题状态的详细信息行。
SELECT * FROM DETAIL d
INNER JOIN HEADER h on h.key=d.key
WHERE ( (h.status >=2 AND d.status >=2) OR (h.status <2 AND d.status <2) )
因为只为标题表选择一个值,所以两个子句中只有一个为 True,并选择这些详细信息行。