Sql-Server
選擇具有相同名稱及其可能 ID 的行(可能為 Null)
所以我有這個
對於每個使用者名,最多有一個唯一的關聯非空
col2
值,並且可能有一些空col2
值。+----------+-------+ | username | col2 | +----------+-------+ | a | 1r1 | | a | 1r1 | | b | 1z2 | | b | null | | c | 1t3 | | c | null | | c | 1t3 | | d | null | +----------+-------+
我正在尋找這樣的輸出:
+----------+------+ | username | col2 | +----------+------+ | a | 1r1 | | b | 1z2 | | c | 1t3 | | d | null | +----------+------+
第一列是公司名稱,第二列是 ID,但有時(使用者錯誤輸入)有一些公司沒有 ID,我希望所有公司名稱都帶有可能的 ID
我相信它可能是,
coalesce
但我被困住了……謝謝您的幫助
您可以使用
GROUP BY
andMIN()
或MAX()
來擺脫空值並為每個使用者名顯示一行:SELECT username, MIN(col2) AS col2 FROM tableX GROUP BY username ;
或提前刪除它們並使用
DISTINCT
:SELECT DISTINCT username, col2 FROM tableX WHERE col2 IS NOT NULL ;
上面的兩個查詢將顯示相同的結果,除非使用者名只有空值或具有不同(非空)
col2
值。