trySelect
A.编号,
SUM(Case TYPE When 1 Then C.t1 When 1 Then C.t2 Else 0 End) As 总金额
From
TAB1 A
Inner Join
TAB2 B
On A.编号 = B.编号
Inner Join
TAB3 C
On B.PS = C.PS
Where A.FLAG = 1
A.编号,
SUM(Case TYPE When 1 Then C.t1 When 1 Then C.t2 Else 0 End) As 总金额
From
TAB1 A
Inner Join
TAB2 B
On A.编号 = B.编号
Inner Join
TAB3 C
On B.PS = C.PS
Where A.FLAG = 1
Select
A.编号,
SUM(Case TYPE When 1 Then C.t1 When 2 Then C.t2 Else 0 End) As 总金额
From
TAB1 A
Inner Join
TAB2 B
On A.编号 = B.编号
Inner Join
TAB3 C
On B.PS = C.PS
Where A.FLAG = 1
Group By
A.编号
(编号 Char(3),
TYPE Int,
FLAG Bit)
Insert TAB1 Select '001', 1,0
Union All Select '002', 1,1
Union All Select '003', 2,1Create Table TAB2
(编号 Char(3),
PS Varchar(10))
Insert TAB2 Select '003', 'A3'
Union All Select '003', 'A4'
Union All Select '003', 'A5'
Union All Select '002', 'A3'
Union All Select '002', 'A5'
Union All Select '001', 'A3'
Create Table TAB3
(ps Varchar(10),
t1 Int,
t2 Int)
Insert TAB3 Select 'A3', 30, 50
Union All Select 'A4', 40, 20
Union All Select 'A5', 20, 10
GO
Select
A.编号,
SUM(Case TYPE When 1 Then C.t1 When 2 Then C.t2 Else 0 End) As 总金额
From
TAB1 A
Inner Join
TAB2 B
On A.编号 = B.编号
Inner Join
TAB3 C
On B.PS = C.PS
Where A.FLAG = 1
Group By
A.编号
GO
Drop Table TAB1, TAB2, TAB3
--Result
/*
编号 总金额
002 50
003 80
*/