SQL 案例陈述或子查询

SQL Case Statement or Sub-Query

在我们有一个查询的应用程序中,我们有一种情况,我们正在带回打开、关闭和存档的记录,并带有与之关联的日期。这是一个 table 关联并与主 table 连接。 table 可能有 1 到 3 条记录与主 table 的相同 ID 相关联,具体取决于记录是否已打开、关闭、and/or 存档。开放、关闭、归档三个阶段的本质。

我们要做的是:当 EStatusID = 1(表示打开)时,我们需要将 DateClosed 读取为空白(因为它尚未关闭或存档)

SELECT
E.EID,
EStatus.EStatusID,
FORMAT (EStatus.DateCreated, 'MM/dd/yyyy') as DateClosed

我不会让您厌烦其余的查询,因为它很长而且对问题没有用。所以我们需要某种 Case 语句或子查询或 Select 中的某些内容来完成此任务。

您可以使用 case 表达式:

CASE WHEN EStatus.EStatusID <> 1 THEN FORMAT (EStatus.DateCreated, 'MM/dd/yyyy') END
    AS DateClosed,