交叉表解决方案

最近看到论坛的问答里有人问到交叉表的问题。
我也不知道专业术语是交叉表还是交差表又或者这两种都不准确。

表fund構成:
fund_no fund_price fund_date
512 99.22 2008/1/3
513 99.56 2008/1/3
512 63.53 2008/3/2
513 65.41 2008/1/6
画面で表示形式:
日期 512 513
2008/1/3 99.22 99.56
2008/3/2 63.53
2008/1/6 65.41

解决方案:
一,Case
SELECT fund_date,
sum(case fund_no when '512' then fund_price else null end) as F512,
sum(case fund_no when '513' then fund_price else null end) as F513
FROM fund
GROUP BY fund_date

二,decode
SELECT fund_date,
sum(decode(fund_no,512,fund_price,null)) as F512,
sum(decode(fund_no,512,fund_price,null)) as F513
FROM fund
GROUP BY fund_date

你可能感兴趣的:(ORACLE)