我有一张这样的表:
AID AName GID GName PID PName A B
13 Ant 15 G15 13 904/M3 5 5
13 Ant 15 G15 16 905/M4 4 5
13 Ant 13 New 13 904/M3 6 2
13 Ant 13 New 16 905/M4 1 1
1 AUD 1 G1 13 904/M3 2 4
1 AUD 1 G1 16 905/M4 3 4
1 AUD 2 G2 13 904/M3 4 1
1 AUD 2 G2 16 905/M4 5 2
1 AUD 4 G4 13 904/M3 0 4
1 AUD 4 G4 16 905/M4 1 1
1 AUD 16 TGp 13 904/M3 2 5
1 AUD 16 TGp 16 905/M4 0 1
我正在尝试编写一个商店程序,这将帮助我给出这样的结果:
AName P1A P1B P2A P2B Total
G15 5 5 4 5 19
New 6 2 1 1 10
Ant 11 7 5 6 29 (Total values of G15 and New)
G1 2 4 3 4 13
G2 4 1 5 2 12
G4 0 4 1 1 6
TGP 2 5 0 1 8
AUD 10 14 9 8 41(G1,g2,G4和TGP的总值)
A列,B列中的值表示P1A和P1B。然后P2A和P2B代表col。来自具有相同AName的其他行的A和B值。 Ant和AUD仅提供总数。
我正在学习枢轴并尝试如果我能找到一些东西,但任何人都可以帮助我吗?
我尝试了这个SQL,但它不起作用,我是这里的新手
select AName, P1A, P1B, P2A, P2B
from
(
select AID,AName,GID,GName,PID,PName,A,B
) as sourceTable
Pivot
(
sum(A), sum(B) for AName in P1A, P1B, P2A, P2B
)
as PivotTable