下面的情况是:如何从表中的单个列中选择第一个非空值。
表:索赔
数据:
Claim id ex-code SEQ_no
A1 1
A1 dvv 2
A1 abc 3
A2 xyz 1
A2 2
我想拉要求ID和前代码..只有前代码首先不为空值应为使用..有没有这个功能,或者我们应该使用子查询..?
下面的情况是:如何从表中的单个列中选择第一个非空值。
表:索赔
数据:
Claim id ex-code SEQ_no
A1 1
A1 dvv 2
A1 abc 3
A2 xyz 1
A2 2
我想拉要求ID和前代码..只有前代码首先不为空值应为使用..有没有这个功能,或者我们应该使用子查询..?
对于MSSQL,试试这个:
SELECT TOP 1 ClaimId, ExCode,SEQNo FROM Claim WHERE ExCode 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
)。所以这应该工作。
试试这个: 该查询返回索赔ID明智首先记录这是不是空...
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
的数据库你用...如。 MSSQL,MySQL ... –