select t1.year,t1.Menoy as n1,t2.Menoy as n2,t3.Menoy as n3,t4.Menoy as n4,sum(t1+t2+t3+t4) as sum from table as t1,table as t2,table as t3,table as t4 where (t1.year=t2.year) and (t1.year=t3.year) and (t1.year=t4.year) and (t1.number=1) and (t2.number=2) and (t3.number=3) and (t4.number=4) 不知道这个可不可以??
4个表year自连接,串联.后一个number>前一个number,随想^_^
你这是什么数据库,不同的数据库处理的语句可能会不一样,给你一个SQL SERVER的吧!!SELECT YEAR , SUM (CASE NUMBER WHEN 1 THEN MONEY END) AS "N1", SUM (CASE NUMBER WHEN 2 THEN MONEY END) AS "N2", SUM (CASE NUMBER WHEN 3 THEN MONEY END) AS "N3", SUM (CASE NUMBER WHEN 4 THEN MONEY END) AS "N4", SUM (CASE NUMBER WHEN 1 THEN MONEY END) + SUM (CASE NUMBER WHEN 2 THEN MONEY END) + SUM (CASE NUMBER WHEN 3 THEN MONEY END) + SUM (CASE NUMBER WHEN 4 THEN MONEY END) AS "SUM" FROM TABLENAME GROUP BY YEAR;
from table as t1,table as t2,table as t3,table as t4
where (t1.year=t2.year) and (t1.year=t3.year) and (t1.year=t4.year)
and (t1.number=1) and (t2.number=2) and (t3.number=3) and (t4.number=4)
不知道这个可不可以??
SUM (CASE NUMBER WHEN 2 THEN MONEY END) AS "N2",
SUM (CASE NUMBER WHEN 3 THEN MONEY END) AS "N3",
SUM (CASE NUMBER WHEN 4 THEN MONEY END) AS "N4",
SUM (CASE NUMBER WHEN 1 THEN MONEY END) +
SUM (CASE NUMBER WHEN 2 THEN MONEY END) +
SUM (CASE NUMBER WHEN 3 THEN MONEY END) +
SUM (CASE NUMBER WHEN 4 THEN MONEY END) AS "SUM"
FROM TABLENAME GROUP BY YEAR;