我的SQL Server代码出现问题。我试图通过select语句的前4列列出结果。我不断收到语法错误,不确定为什么。
我想要它做的是拉动我定义的entityid,acctnum,句号,但是,我不想看到结果中的句号,因为我希望它们被总结在一起。 IE我希望看到活动列的总活动而不是每个时段的行。
SELECT
ENTITYID, ACCTNUM, ACCTNAME, ACTIVITY
FROM
(SELECT
g.ENTITYID AS 'ENTITYID'
g.ACCTNUM AS 'ACCTNUM'
SUM(g.ACTIVITY) AS 'ACTIVITY'
h.ACCTNAME AS 'ACCTNAME'
FROM
SQLDATA.DBO.GLSUM g
INNER JOIN
SQLDATA.DBO.GACC h ON g.ACCTNUM = h.ACCTNUM
WHERE
g.ENTITYID = '85000'
g.PERIOD < '201703'
g.ACCTNUM = '569300000')
答案 0 :(得分:2)
你需要一个GROUP BY子句https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql,SELECT列表中的逗号,WHERE元素之间的AND关键字,外部选择似乎有点多余。
819DD50A925A5EB8CABE974A654A18A8
答案 1 :(得分:0)
DECLARE @a int
SET @a = select sum(g.ACTIVITY)
from SQLDATA.DBO.GLSUM
WHERE ENTITYID = '85000' and
PERIOD < '201703' and
ACCTNUM = '569300000'
SELECT
g.ENTITYID AS 'ENTITYID'
g.ACCTNUM AS 'ACCTNUM'
@a AS 'ACTIVITY'
h.ACCTNAME AS 'ACCTNAME'
FROM SQLDATA.DBO.GLSUM g
INNER JOIN SQLDATA.DBO.GACC h
ON g.ACCTNUM = h.ACCTNUM
WHERE
g.ENTITYID = '85000'
g.PERIOD < '201703'
g.ACCTNUM = '569300000'