我有一個包含每日人員報告的MS SQL Server 2012表。每天包含一個人的最多1條記錄,並將該日存儲爲DateTime,並將時間部分設置爲「00:00:00.000」。示例:'2014-01-30 00:00:00.000'通過SQL查詢獲取某個日期沒有值的項目
+-----------+-------------------------+----------------+
| Person id | Date | Report content |
+-----------+-------------------------+----------------+
| 1 | 2014-01-29 00:00:00.000 | Account stuff |
+-----------+-------------------------+----------------+
| 2 | 2014-01-29 00:00:00.000 | Coaching stuff |
+-----------+-------------------------+----------------+
| 2 | 2014-01-30 00:00:00.000 | Still coaching |
+-----------+-------------------------+----------------+
所有人員都存儲在一個單獨的表中。
如何從數據庫中選擇一段時間內缺少記錄的人員?即使該人報告了30份報告,但1份報告缺失,他也應該在結果中。可能會發生,每個人都錯過了一個或多個報告日。這就是爲什麼我無法比較人與人之間的關係。
例如,我想知道誰在1月1日至2月1日之間沒有創建他/她的報告。
的SQL Server版本? –
指定SQL Server版本:2012 – Germstorm
如果他們沒有記錄,您希望如何選擇它們?你有另一張桌子給所有的人嗎? –