问题描述
我不是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','ARA','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 (将#修改为@)