当子查询未与EXISTS一起引入时,在选择列表中只能指定一个表达式。 [英] Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.?

查看:67
本文介绍了当子查询未与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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆