SQL 查询 "Subquery returned more than 1 value"
SQL QUERY "Subquery returned more than 1 value"
我已经尝试修改来自应用程序的 SQL 查询,但无法使其正常工作
错误:
"Subquery returned more than 1 value. This is not permitted when the
subquery follows =, !=, <, <= , >, >= or when the subquery is used as
an expression."
原查询:
SELECT fycode, fyname, class3, '', '', '', defje, zjm, '', ''
FROM zy_fy
UNION ALL
SELECT Ypcode, Ypname,
(SELECT a.lbname FROM YK_yplb a where a.lbid = b.yplb)
, gg, sldw, '', '', '', '', ''
FROM YK_ypzd b
UNION ALL
SELECT FYID, NAME, DYKS+'-'+CLASS2, '', '次', '', FYMONEY, ZJM, ZJM1, ''
FROM mz_fy
修改后的查询:
SELECT fycode, fyname, class3, '', '', '', defje, zjm, '', ''
FROM zy_fy
UNION ALL
SELECT Ypcode, Ypname,
(select a.lbname from YK_yplb a where a.lbid = b.yplb)
,gg,sldw, '',
(select c.dj from YK_kc c where c.Ypcode = b.Ypcode)
,'','',''
FROM YK_ypzd b
UNION ALL
SELECT FYID, NAME, DYKS+'-'+CLASS2, '', '次', '', FYMONEY, ZJM, ZJM1, ''
FROM mz_fy
我刚刚在第 3 个 select 语句的第 7 列中插入了一个子查询
谢谢!
select fycode,fyname,class3,'','','',defje,zjm,'','' from zy_fy union all
select Ypcode, Ypname,(select a.lbname from YK_yplb a where a.lbid =
b.yplb limit 1),gg,sldw,'',(select c.dj from YK_kc c where c.Ypcode =
b.Ypcode),'','','' from YK_ypzd b union all select FYID,NAME,DYKS+'-
+CLASS2,'','次','',FYMONEY,ZJM,ZJM1,'' from mz_fy
使用限制
你只需要使用TOP 1
将子查询限制为return只有一行
SELECT fycode, fyname, class3, '', '', '', defje, zjm, '', ''
FROM zy_fy
UNION ALL
SELECT Ypcode, Ypname,
(select TOP 1 a.lbname from YK_yplb a where a.lbid = b.yplb)
,gg,sldw, '',
(select TOP 1 c.dj from YK_kc c where c.Ypcode = b.Ypcode)
,'','',''
FROM YK_ypzd b
UNION ALL
SELECT FYID, NAME, DYKS+'-'+CLASS2, '', '次', '', FYMONEY, ZJM, ZJM1, ''
FROM mz_fy
请使用TOP 1将子查询限制为return只有一行
我已经尝试修改来自应用程序的 SQL 查询,但无法使其正常工作
错误:
"Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression."
原查询:
SELECT fycode, fyname, class3, '', '', '', defje, zjm, '', ''
FROM zy_fy
UNION ALL
SELECT Ypcode, Ypname,
(SELECT a.lbname FROM YK_yplb a where a.lbid = b.yplb)
, gg, sldw, '', '', '', '', ''
FROM YK_ypzd b
UNION ALL
SELECT FYID, NAME, DYKS+'-'+CLASS2, '', '次', '', FYMONEY, ZJM, ZJM1, ''
FROM mz_fy
修改后的查询:
SELECT fycode, fyname, class3, '', '', '', defje, zjm, '', ''
FROM zy_fy
UNION ALL
SELECT Ypcode, Ypname,
(select a.lbname from YK_yplb a where a.lbid = b.yplb)
,gg,sldw, '',
(select c.dj from YK_kc c where c.Ypcode = b.Ypcode)
,'','',''
FROM YK_ypzd b
UNION ALL
SELECT FYID, NAME, DYKS+'-'+CLASS2, '', '次', '', FYMONEY, ZJM, ZJM1, ''
FROM mz_fy
我刚刚在第 3 个 select 语句的第 7 列中插入了一个子查询
谢谢!
select fycode,fyname,class3,'','','',defje,zjm,'','' from zy_fy union all
select Ypcode, Ypname,(select a.lbname from YK_yplb a where a.lbid =
b.yplb limit 1),gg,sldw,'',(select c.dj from YK_kc c where c.Ypcode =
b.Ypcode),'','','' from YK_ypzd b union all select FYID,NAME,DYKS+'-
+CLASS2,'','次','',FYMONEY,ZJM,ZJM1,'' from mz_fy
使用限制
你只需要使用TOP 1
将子查询限制为return只有一行
SELECT fycode, fyname, class3, '', '', '', defje, zjm, '', ''
FROM zy_fy
UNION ALL
SELECT Ypcode, Ypname,
(select TOP 1 a.lbname from YK_yplb a where a.lbid = b.yplb)
,gg,sldw, '',
(select TOP 1 c.dj from YK_kc c where c.Ypcode = b.Ypcode)
,'','',''
FROM YK_ypzd b
UNION ALL
SELECT FYID, NAME, DYKS+'-'+CLASS2, '', '次', '', FYMONEY, ZJM, ZJM1, ''
FROM mz_fy
请使用TOP 1将子查询限制为return只有一行