问题描述
我不是sql开发人员。我正在执行以下查询,这是一条选择语句的子查询。
第512条消息,状态16,状态1,第13行
子查询返回的值超过1。当子查询遵循=,!=,,> =或将子查询用作表达式时,不允许这样做。
我不知道为什么会出错。
SELECT
CASE
WHEN LJT.POSTING IN (20,31,41)
AND LEFT(LJT.VOUCHER,3) NOT IN ('REC','PAY','GEN','@R_502_6460@','NET','900','BDJ','004')
THEN (SELECT TOP (1) dbo.CUSTTRANS.INVOICE
FROM dbo.CUSTTRANS WITH (nolock)
WHERE CUSTTRANS.VOUCHER = LJT.voucher
AND CUSTTRANS.DATAAREAID = LJT.DATAAREAID
AND CUSTTRANS.TRANSDATE = LJT.TRANSDATE
UNION
SELECT TOP (1) dbo.vendTRANS.VOUCHER
FROM dbo.vendTRANS WITH (nolock)
WHERE vendTRANS.VOUCHER = LJT.voucher
AND vendTRANS.DATAAREAID = LJT.DATAAREAID
AND vendTRANS.TRANSDATE = LJT.TRANSDATE)
ELSE LJT.Voucher
END AS NumberTransaction5
FROM
BEANRsqlDAX.ecu_AX2009_sp1_ru8_prd.dbo.LedgerTRANS LJT WITH (NOLOCK)
此外,还有许多其他子查询与该子查询完全一样,但是只有这会出错。
有人可以给我一些提示吗?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)