使用CASE语句根据标题表中的值过滤详细信息表

时间:2018-06-25 08:30:10

标签: sql switch-statement

根据头表中的值,我想选择另一组详细表。如果标题表的状态为<head> <meta http-equiv="Refresh" content="5; url=http://google.com"> </head> 或更高,则应选择状态为2或更高的详细信息。 请注意,de值并不总是相等。

示例简化语句

2

1 个答案:

答案 0 :(得分:1)

您可以通过简单的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

因为只为表头选择一个值,所以两个子句中只有一个为True,然后选择那些明细行。