S
sword_liu
Unregistered / Unconfirmed
GUEST, unregistred user!
我有个解决办法,首先
用SQL语句生成一个View
create view v1 as
SELECT id,name,a=
CASE WHEN type=11 then
a1
END
,b=
CASE WHEN type=11 then
a2
END
,c=
CASE WHEN type=12 then
a1
END
,D=
CASE WHEN type=12 then
a2
END
FROM
t1
group by id,name,type,A1,A2
再用
SELECT id ,name,sum(a),sum(b),sum(c),sum(d) FROM V1 group by id,name
得出数据,随便你怎么组合了。
数据结果是这样的
表机构
ID Name A1 A2 Type
---------- ---------- -------------------- -------------------- ----------
01 A 10 20 11
02 B 20 15 11
03 C 30 10 11
01 A 200 100 12
02 B 300 100 12
(所影响的行数为 5 行)
结果:
id name a b c d
01 A 10 20 200 100
02 B 20 15 300 100
03 C 30 10 NULL NULL
(所影响的行数为 3 行)
是你要的那样的结果吗?
用SQL语句生成一个View
create view v1 as
SELECT id,name,a=
CASE WHEN type=11 then
a1
END
,b=
CASE WHEN type=11 then
a2
END
,c=
CASE WHEN type=12 then
a1
END
,D=
CASE WHEN type=12 then
a2
END
FROM
t1
group by id,name,type,A1,A2
再用
SELECT id ,name,sum(a),sum(b),sum(c),sum(d) FROM V1 group by id,name
得出数据,随便你怎么组合了。
数据结果是这样的
表机构
ID Name A1 A2 Type
---------- ---------- -------------------- -------------------- ----------
01 A 10 20 11
02 B 20 15 11
03 C 30 10 11
01 A 200 100 12
02 B 300 100 12
(所影响的行数为 5 行)
结果:
id name a b c d
01 A 10 20 200 100
02 B 20 15 300 100
03 C 30 10 NULL NULL
(所影响的行数为 3 行)
是你要的那样的结果吗?