如何解决SQL Server 2008 R2中执行错误的SQL查询
我不是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 举报,一经查实,本站将立刻删除。