2014-01-15 33 views
0

如何從該數據庫中獲取值。我需要按sim_id排序的總request_amount,其中用戶名和user_name和父母相互關聯。例如Alam=>ShimulShimul=>ShihabShihab=>Khaled等等......然後,當我通過user_name='Alam'這些都是user_name主要家長只搜索則輸出將是繼....如何通過其主用戶名獲取所有值,其中用戶名與用戶名相關

數據表user_request

user_name sim_id request_amount request_date parents 
Alam  1  98    2014-01-11 Admin 
Shimul  2  100    2014-01-11 Alam 
Shihab  3  50    2014-01-11 Shimul 
Khaled  2  20    2014-01-11 Shihab 
Sumon  3  100    2014-01-11 Shihab 

輸出繼電器將是

user_name sim_id1  sim_id2   sim_id3  total 
Alam   98    0    0    98 
Shimul   0   100    0    100 
Shihab   0    0    50    200 
Khaled   0    20    0    20 
Sumon   0    0    100    100 

請別人幫我修復pblem .....

+0

哪裏'Shihab'總='200'從何而來? – Barmar

+0

查看http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ – Barmar

+0

Shihab總數= 200.Ops這是一個錯誤,併爲此感到遺憾...謝謝你的建議,我認爲你的鏈接將有助於我... – Shimul

回答

0

這樣的事情,用SUM但與如該款項內: -

SELECT user_name, 
     SUM(IF(sim_id = 1, request_amount, 0)) AS sim_id1, 
     SUM(IF(sim_id = 2, request_amount, 0)) AS sim_id2, 
     SUM(IF(sim_id = 3, request_amount, 0)) AS sim_id3, 
     SUM(sim_id) AS total 
FROM user_request 
GROUP BY user_name 
+0

此查詢檢索表中的所有數據,但我必須通過user_name搜索,然後查詢檢索與user_name層次相關的表中的數據... – Shimul

+0

不知道我明白。你能否用更多的例子來更新你的問題,以顯示這個查詢返回什麼以及你想要返回什麼? – Kickstart

+0

請查看分層相關的user_name和父母。然後,如果我通過user_name ='Alam'搜索(例如),它會返回數據,其中Alam => Shimul,Shimul => Shihab,Shihab => Khaled遵循給定的輸出以上 – Shimul

相關問題