当子查询未与EXISTS一起引入时,在选择列表中只能指定一个表达式。 [英] Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.?
本文介绍了当子查询未与EXISTS一起引入时,在选择列表中只能指定一个表达式。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
hi
hi
select zee.TransId,zee.amount from OJDT t1
inner join
(
SELECT
ojdt.TransId,
SUM(JDT1.Debit * 1 /100) as amount --
FROM OJDT
INNER JOIN JDT1 ON JDT1.TransId = OJDT.TransId
INNER JOIN OACT ON OACT.AcctCode = JDT1.Account
INNER JOIN
(
SELECT
AcctCode, AcctName, Head1Code, Head4Code, AcctTypeCode, Head1,
CASE
WHEN Head1Code='5140001' THEN 124
WHEN Head1Code='5140002' THEN 188
WHEN Head1Code='5140003' THEN 195
WHEN Head1Code='511001' THEN 104
WHEN Head1Code='513002' THEN 124
WHEN Head1Code='513001' THEN 104
WHEN Head1Code='512021' THEN 199
WHEN Head1Code='511003' THEN 108
WHEN Head1Code='512012' THEN 109
WHEN Head1Code='512013' THEN 110
WHEN Head1Code='512014' THEN 115
WHEN Head1Code='512015' THEN 112
WHEN Head1Code='511002' THEN 106
ELSE ''
END ItmsGrpCod
FROM
DAccount
) D1 ON D1.AcctCode = JDT1.ShortName
INNER JOIN OITB ON OITB.ItmsGrpCod = D1.ItmsGrpCod
WHERE
OJDT.TaxDate BETWEEN '2013-12-01' AND '2013-12-31'
AND JDT1.Account NOT IN ('_SYS00000001371','_SYS00000006981','_SYS00000006876')
AND OJDT.TransCode IN ('JV')
AND OJDT.ObjType = '30'
group by
OJDT.TransId
) zee on zee.TransId = t1.TransId
where
T1.TaxDate BETWEEN '2014-01-01' AND '2014-01-31'
想要在声明的函数中插入此查询,这是@Tax它生成错误
wanted to insert this query in declared function which is @Tax it is generating error
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
PLz帮助
推荐答案
declare @Tax numeric
select @Tax = zee.amount from OJDT t1
inner join
(
SELECT
ojdt.TransId,
SUM(JDT1.Debit * 1 /100) as amount --
FROM OJDT
INNER JOIN JDT1 ON JDT1.TransId = OJDT.TransId
INNER JOIN OACT ON OACT.AcctCode = JDT1.Account
INNER JOIN
(
SELECT
AcctCode, AcctName, Head1Code, Head4Code, AcctTypeCode, Head1,
CASE
WHEN Head1Code='5140001' THEN 124
WHEN Head1Code='5140002' THEN 188
WHEN Head1Code='5140003' THEN 195
WHEN Head1Code='511001' THEN 104
WHEN Head1Code='513002' THEN 124
WHEN Head1Code='513001' THEN 104
WHEN Head1Code='512021' THEN 199
WHEN Head1Code='511003' THEN 108
WHEN Head1Code='512012' THEN 109
WHEN Head1Code='512013' THEN 110
WHEN Head1Code='512014' THEN 115
WHEN Head1Code='512015' THEN 112
WHEN Head1Code='511002' THEN 106
ELSE ''
END ItmsGrpCod
FROM
DAccount
) D1 ON D1.AcctCode = JDT1.ShortName
INNER JOIN OITB ON OITB.ItmsGrpCod = D1.ItmsGrpCod
WHERE
OJDT.TaxDate BETWEEN '2013-12-01' AND '2013-12-31'
AND JDT1.Account NOT IN ('_SYS00000001371','_SYS00000006981','_SYS00000006876')
AND OJDT.TransCode IN ('JV')
AND OJDT.ObjType = '30'
group by
OJDT.TransId
) zee on zee.TransId = t1.TransId
where
T1.TaxDate BETWEEN '2014-01-01' AND '2014-01-31'
这篇关于当子查询未与EXISTS一起引入时,在选择列表中只能指定一个表达式。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文