我有一个问题,我认为其中一个问题会在底部解决,但我仍然有问题。问题是我的案例陈述是错误的(但运行时没有错误)但不确定我还缺少什么。
我的目标是,如果 DueDate 为 NULL,因为 Table2 中没有记录,因此我想要的只是将此值显示为“否”而不是“NULL”。我在代码中添加了“IsNull”,但没有解决我的问题。我在这些论坛上看到过 ISNULL() 和 COALEASE() 但无法得到我想要的结果
下面是我的工作代码:
SELECT
Client,
COUNT(*) AS ReadyRecords,
(SELECT COUNT(*) FROM Table1 EPR WHERE actioned=8 AND EPR.Client=Table1.Client) AS Outstanding,
(SELECT TOP 1
CASE
WHEN DueDate < GETDATE() THEN 'Yes'
WHEN DueDate IS NULL THEN 'No'
ELSE 'No'
END AS DueDate
FROM Table2 GL WHERE GL.Client=Table1.Client ORDER BY DueDate) AS DueDate
FROM Table1 WHERE Actioned=2 GROUP BY Client
编辑:
当前结果集:
Client | ReadyRecords | Outstanding | DueDate
Test | 42 | 54 | NULL
Stack | 150 | 10 | NULL
JBloggs | 32 | 28 | Yes
DBloggs | 2 | 17 | Yes
Overflow | 1 | 1 | No
期望的结果集:
Client | ReadyRecords | Outstanding | DueDate
Test | 42 | 54 | No
Stack | 150 | 10 | No
JBloggs | 32 | 28 | Yes
DBloggs | 2 | 17 | Yes
Overflow | 1 | 1 | No
表格1:
id | Client | Actioned | etc...
5245 | Test | 8 | etc...
....so on
表 2:
id | Client | DueDate
1 | JBloggs | 2012-12-01 00:00:00.000
2 | DBloggs | 2012-12-05 00:00:00.000
3 | Overflow | 2012-12-12 00:00:00.000
需要帮助请叫我。
类似/相关问题: