最近,我正在查詢數據以形成SQL新手公司的報告。如何使用SQL計算父親器官統計信息
我有孩子器官的原始數據,同時,我還需要計算總量的它的上級機構。
我已經使用全外連接把所有的器官一起在一個表中,增加一列「parent_organ」,以表明自己的關係,在圖中所示:
我有一些時間使用低於SQL查詢,但失敗了,任何人都可以幫忙嗎?謝謝。
SELECT ORGAN,
SUM(CASE WHEN parent_organ LIKE '%'||ORGAN||'%' THEN
sales
ELSE 0 END) AS sales_sum
FROM table GROUP BY organ
您正在使用哪些DBMS? –
你真的在你的表格中以逗號分隔列表的形式存儲父代器官嗎?這是一個**非常糟糕的設計。你應該[編輯]你的問題,並將'create table'語句添加到你的問題。 [_Formatted_](http://stackoverflow.com/help/formatting)文本請[無屏幕截圖](http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images代碼提示/ 285557#285557) –
@a_horse_with_no_name:我們正在使用DB2 10.5。這是一個遺留表格,同意你的糟糕設計。我簡化了我的問題。事實上,該表具有五個層次的器官,即A∈B∈C∈D∈E,其中只有A,最低層次具有真實的商業數據,所有父母的(B,C,D,E)統計應該是通過將它們相加來計算。還有很多像A和B,C,D,E這樣的器官。我知道這個問題可以通過使用SP並創建一個新表來保存數據來解決。但想用SQL查詢來解決這個問題 –