簡體   English   中英

如何從表的單個列中選擇第一個非空值?

[英]How to select first not null value from a single column in a table.?

情況如下:

表:索償

數據:

Claim id     ex-code     SEQ_no

A1                         1
A1            dvv          2
A1            abc          3
A2            xyz          1
A2                         2

我想提取索賠ID和ex-code。.僅應使用ex-code的第一個非null值。.是否為此有任何功能,還是應該使用子查詢..?

對於MSSQL,請嘗試以下操作:

SELECT TOP 1 ClaimId, ExCode,SEQNo FROM Claim WHERE ExCode IS NOT NULL

它應該是

SELECT TOP 1 * 
  FROM claims
  WHERE ex-code IS NOT NULL; 

我認為這可能對您有幫助

SELECT top 1 * FROM [Claims] WHERE ex-code <> null

嘗試這個

SELECT claim_id, ex_code, seq_no
FROM Claims
WHERE ex_code NOT NULL
GROUP BY claim_id
ORDER BY claim_id

據我所知, GROUP BY返回第一個值(除非使用GROUP_CONCAT )。 所以這應該工作。

試試這個:該查詢明智地返回Claim ID優先記錄,該記錄不為null ...

WITH getFirstNonNull AS (
SELECT Claimid,ROW_NUMBER() OVER (PARTITION BY Claimid ORDER BY SEQ_no) AS RowNum , ex-code FROM Claims
WHERE ex-code IS NOT NULL 
) SELECT * FROM getFirstNonNull WHERE RowNum = 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM