sql 实现列变行
A
项目名 金额 票号
报关费 11 1
报检费 12 1
押箱费 13 1
报关费 11 2
报检费 12 2
押箱费 13 2
B
票号 报关费 报检费 押箱费
1 11 12 13
2 14 15 16
由表A查询得B(不用中间表),只用sql能否实现?
另:票号有N个
谢谢
------解决方案--------------------select
票号,
报关费=sum(case when 项目名= '报关费 ' then 金额 else 0 end),
报检费=sum(case when 项目名= '报检费 ' then 金额 else 0 end),
押箱费=sum(case when 项目名= '押箱费 ' then 金额 else 0 end)
from A group by 票号