![](/img/trans.png)
[英]I need help to generate a Grouped and Tabulated report from MySQL Database using PHP?
[英]Need help to generate report using php mysql
我想在processID
上加入兩個MySQL表,並得到以下結果作為報告。
table 1: LMProcess
------------------------------------
| ProcessID | LMNo | Status | Dept |
------------------------------------
|1 |1001 |1 |Legal |
|2 |1001 |1 |R&D |
|3 |1001 |1 |D&R |
|4 |1001 |1 |L&M |
|5 |1002 |1 |Legal |
|6 |1002 |1 |R&D |
|7 |1002 |1 |D&R |
|8 |1002 |1 |L&M |
------------------------------------
table 2: Recommendation
-----------------------------------
| ID | ProcessID | Recommendation |
-----------------------------------
| |1 |Yes |
| |2 |No |
| |3 |Yes |
| |4 |Yes |
| |5 |Yes |
| |6 |No |
| |7 |No |
| |8 |Yes |
-----------------------------------
Report: LM File Recommendations by the Departments
----------------------------------
| LMNo | Legal | R&D | D&R | L&M |
----------------------------------
|1001 |Yes |No |Yes |Yes |
|1002 |Yes |No |No |Yes |
----------------------------------
您正在嘗試執行數據透視操作,這是其他一些RDBMS本身支持的,但是MySQL不支持(因為開發人員認為它確實屬於表示層而不是數據庫)。
但是,您可以按LMNo
將結果LMNo
並使用MySQL的GROUP_CONCAT()
函數獲得所需的結果:
SELECT LMNo
, GROUP_CONCAT(IF(Dept='Legal', Recommendation, NULL)) AS `Legal`
, GROUP_CONCAT(IF(Dept='R&D' , Recommendation, NULL)) AS `R&D`
, GROUP_CONCAT(IF(Dept='D&R' , Recommendation, NULL)) AS `D&R`
, GROUP_CONCAT(IF(Dept='L&M' , Recommendation, NULL)) AS `L&M`
FROM LMProcess JOIN Recommendation USING (ProcessID)
GROUP BY LMNo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.