列我有一個像行至
cases open/close count
-----------------------------
A open 10
A close 15
B open 6
B close 4
我需要得到一個結果表就是喜歡
cases total open close
---------------------------------
A 25 10 15
B 10 6 4
這個任何想法的表?
列我有一個像行至
cases open/close count
-----------------------------
A open 10
A close 15
B open 6
B close 4
我需要得到一個結果表就是喜歡
cases total open close
---------------------------------
A 25 10 15
B 10 6 4
這個任何想法的表?
這通常稱爲數據透視查詢,將行轉換爲列數據。使用:
SELECT t.cases,
SUM(t.count) AS total,
SUM(CASE WHEN t.open_close = 'open' THEN t.count ELSE 0 END) AS open,
SUM(CASE WHEN t.open_close = 'close' THEN t.count ELSE 0 END) AS close
FROM YOUR_TABLE t
GROUP BY t.cases
Oracle在11g之前未添加ANSI PIVOT(和UNPIVOT)語法。
忘了提及......源表中有其他列必須傳輸到決賽桌,因爲它是...所以...我不認爲樞軸會工作...您的建議非常感謝 – mahen 2010-11-03 18:28:21
我會更詳細地描述這一點,因爲聚合/分組不是真正列到列。您可能可以使用選擇到查詢來執行此操作 – Roadie57 2010-11-03 18:33:58