簡體   English   中英

在MySQL表中旋轉

[英]Pivoting in MySQL table

我有一個名為switch的MySQL表,如下所示:

switchName  switchCondition switchingTime 
----------- --------------- ------------- 
First       ON              10:00      
First       OFF             11:00
Second      ON              10:30      
Third       OFF             13:00      
Third       ON              13:45  

如何通過根據切換條件旋轉切換時間,如何使用上表以以下格式將報告顯示為html表?

switchName   ON     OFF 
----------- -----  -------
First       10:00   11:00                   
Second      10:30    -        
Third       13:45   13:00

嘗試這個:

SELECT s.switchName, 
       MAX(CASE WHEN s.switchCondition = 'ON' THEN s.switchingTime ELSE '-' END) AS SwitchON, 
       MAX(CASE WHEN s.switchCondition = 'OFF' THEN s.switchingTime ELSE '-' END) AS SwitchOFF
FROM switches s 
GROUP BY s.switchName;

另一種方法

SELECT s.switchName, s1.switchingTime, s2.switchingTime
FROM switches s
LEFT JOIN switches s1 ON s.switchName = s1.switchName AND s1.switchCondition = 'ON'
LEFT JOIN switches s2 ON s.switchName = s2.switchName AND s2.switchCondition = 'OFF'
GROUP BY s.switchName

(盡管它將破折號表示為NULL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM