Sql-Server-2016
如何檢查工作人員的結束日期是否為 Null 值
我有一個數據庫,記錄整個組織中的員工任務以及他們何時完成等,我需要確定每個員工是否在任一完成中至少有一行具有空值。
基本上 - 向我展示任何在 Finish 列中至少有一行具有空值的employee_no。
可以有多個空值,但只要有一個。
樣本數據庫:
SELECT employee_no FROM source_table GROUP BY employee_no HAVING COUNT(*) = COUNT(finish)
有沒有辦法將整個表格包含在該序列中?- 克里斯
select serverproperty('ProductVersion') as [version], serverproperty('Edition') as [edition]
並獲得了 Devleoper 版(64 位)的版本 13.0.5102.14 – Chris這是 (Microsoft) SQL Server 2016 SP2。– 秋名
WITH cte AS ( SELECT Employee_No, Task, Start, Finish, MAX(CASE WHEN Finish IS NULL THEN 1 ELSE 0 END) OVER (PARTITION BY employee_no) have_nulls FROM source_table ) SELECT Employee_No, Task, Start, Finish FROM cte WHERE have_nulls = 0 /* ORDER BY 1,2,3 */