Sql server SQL子查询不会求和

Sql server SQL子查询不会求和,sql-server,sap,Sql Server,Sap,这是我正在创建的查询。它可以工作,但会产生结果——一个用于发票,一个用于信用。我只想要一个结果——总数。i、 e.发票减去贷方票据 SELECT sum ([linetotal]) FROM ( SELECT sum(t1.[LineTotal]) AS 'Linetotal' FROM OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OSLP T2 ON T0.SlpCode = T2.SlpCod

这是我正在创建的查询。它可以工作,但会产生结果——一个用于发票,一个用于信用。我只想要一个结果——总数。i、 e.发票减去贷方票据

SELECT 
sum ([linetotal])
FROM
(
SELECT
sum(t1.[LineTotal])  AS 'Linetotal'
FROM OINV T0  
INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry 
INNER JOIN OSLP T2 ON T0.SlpCode = T2.SlpCode 
WHERE t0.taxdate >= '20170101' and t0.taxdate <= '20170131'  and t0.[canceled] ='n' and  T0.[SlpCODE] = '4'

union all

SELECT
sum(-T1.[LineTotal] ) AS 'Linetotal'
FROM ORIN T0 
INNER JOIN RIN1 T1 ON T0.DocEntry = T1.DocEntry 
INNER JOIN OSLP T2 ON T0.SlpCode = T2.SlpCode 
WHERE t0.taxdate >= '20170101' and t0.taxdate <= '20170131'  and t0.[canceled] ='n' and  T0.[SlpCODE] = '4'
)
as a
group by a.linetotal

尝试删除最后一行:group by a.linetotal,因为它将它们分开,因为它们不相等

您必须删除group by

SELECT 
sum ([linetotal])
FROM
(
SELECT
sum(t1.[LineTotal])  AS 'Linetotal'
FROM OINV T0  
INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry 
INNER JOIN OSLP T2 ON T0.SlpCode = T2.SlpCode 
WHERE t0.taxdate >= '20170101' and t0.taxdate <= '20170131'  and t0.[canceled] ='n' and  T0.[SlpCODE] = '4'

union all

SELECT
sum(-T1.[LineTotal] ) AS 'Linetotal'
FROM ORIN T0 
INNER JOIN RIN1 T1 ON T0.DocEntry = T1.DocEntry 
INNER JOIN OSLP T2 ON T0.SlpCode = T2.SlpCode 
WHERE t0.taxdate >= '20170101' and t0.taxdate <= '20170131'  and t0.[canceled] ='n' and  T0.[SlpCODE] = '4'
)
as a

显示您当前的成绩和预期成绩。请验证答案,谢谢。如果答案有帮助,请不要忘记该奖项。在那些日子里,该奖项经常被遗忘:/