[SQL ] 時間分段問題
現有兩table
TABLE_A
-----------------
ZoneID ZoneName
1 甲地
2 乙地
3 丙地
TABLE_B
-----------------
Type Time ZoneID Key
1 10:10 1 001
2 10:11 2 002
1 13:11 3 003
2 11:50 1 004
2 13:55 1 005
需要產生的結果
Temp_Table
-------------------------------------------------
08:00~10:00 10:00~12:00 12:00~14:00
ZoneName Type1 Type2 Type1 Type2 Type1 Type2
甲地 0 0 1 1 0 1
乙地 0 0 0 1 0 0
丙地 0 0 0 0 1 0
目前想到的方法是:
SELECT ZoneName,
COUNT(CASE Type WHEN '1' THEN '1') AS Type1,
COUNT(CASE Type WHNE '2' THNE '2') AS Type2
FROM TABLE_A LEFT JOIN TABLE_B ON TABLE_A.ZoneID = TABLE_B.ZoneID
WHERE TABLE_B Time BETWEEN '08:00' AND '10:00'
GROUP BY ZoneName
UNION
SELCT ZoneNAME , 0 AS Type1, 0 AS Type2 FROM TABLE_A
可是這段指令查詢出來的結果只能指定一個區段,如果需要產生像Temp_Talbe這樣的結果
請問該怎麼修正我的查詢指令呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.183.1