sql-server - 子查询返回超过 1 个值错误
问题描述
SELECT
CASE CR.claim_status
WHEN 'RC'
THEN (SELECT ins_clause_no
FROM tbl_rej_code_master RCM
WHERE CR.s_no IN (SELECT s_no
FROM claim_rejection_code_trans CRCT
WHERE CRCT.irrmp_sr_no = RCM.rej_srno))
END
FROM
tblclaimregistration CR
SELECT
CASE CR.claim_status
WHEN 'RC' THEN (SELECT clause_no
FROM claim_rejection_code_trans CRCT
WHERE CR.s_no = CRCT.s_no)
END AS Clause_No
FROM
tblclaimregistration CR;
运行此代码时出现错误
子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。
请帮忙
解决方案
您的子查询 in case 语句返回超过 1 个值。
您必须只返回一个值,因为此子查询针对 CR 表的每一行执行。
您可以在每个子查询中使用“TOP 1”。
例如:
SELECT
CASE CR.claim_status
WHEN 'RC'
THEN (SELECT TOP 1 ins_clause_no
FROM tbl_rej_code_master RCM
WHERE CR.s_no IN (SELECT s_no
FROM claim_rejection_code_trans CRCT
WHERE CRCT.irrmp_sr_no = RCM.rej_srno ORDER BY <Your Column>))
END
FROM
tblclaimregistration CR
SELECT
CASE CR.claim_status
WHEN 'RC' THEN (SELECT TOP 1 clause_no
FROM claim_rejection_code_trans CRCT
WHERE CR.s_no = CRCT.s_no ORDER BY <Your Column>)
END AS Clause_No
FROM
tblclaimregistration CR;
推荐阅读
- android - Android Studio 构建失败:Android 资源链接失败,未能创建目录 C:\tmp\
- javascript - 如何根据 Bokeh 中先前的多选选择向绘图添加参考曲线
- sql-server - OpenRowset 与链接服务器
- anylogic - 如何将到达时间间隔平均为 10 秒
- react-native - 使用 react-native-snap-carousel 输出多个不同的元素?
- tabulator - 可能的错误:当有分组列时,topCalcs 和 bottomCalcs 跳过和对齐错误
- javascript - 格式化字符串中间的句子
- git - 有没有办法将子模块添加到非空目录
- swift - Array.max(by:) 理解难度
- python - 使用 subprocess.Popen 传递 MPV 参数时出错