-1
我有一個數據庫,記錄每個收銀員每小時的交易次數。Mysql - 特定日期的特定列
列名:
NAME 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 DATE
00是午夜,01是凌晨1點,18是下午6點等。
的平均行應該是這樣的:
John Doe 0 0 0 0 0 0 0 0 0 0 26 24 32 0 0 0 0 0 0 0 0 0 0 0 02/23/2014
John Doe 0 0 0 0 0 23 43 25 36 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 02/22/2014
我試圖獲得相同的查詢從不同的日子不同的列。
例如,假設我想從2014年2月22日開始的05,06,07,08,09和2014年2月23日開始的10,11,12期間爲John Doe。這將是John Doe整個週末的總小時交易。
假設John Doe本月大部分時間都有排。我怎樣才能得到一條只顯示2014年2月22日的05,06,07,08和09小時以及2014年2月23日的10,11,12小時,而沒有其他日期/小時的線路?
我嘗試這樣做:
SELECT cashier.name AS NAME,
(SELECT cashier.05 FROM cashier AS t WHERE date = '2014-02-22' AND t.name = cashier.name) as '05',
(SELECT cashier.06 FROM cashier AS t WHERE date = '2014-02-22' AND t.name = cashier.name) as '06',
(SELECT cashier.07 FROM cashier AS t WHERE date = '2014-02-22' AND t.name = cashier.name) as '07',
(SELECT cashier.08 FROM cashier AS t WHERE date = '2014-02-22' AND t.name = cashier.name) as '08',
(SELECT cashier.09 FROM cashier AS t WHERE date = '2014-02-22' AND t.name = cashier.name) as '09',
(SELECT cashier.10 FROM cashier AS t WHERE date = '2014-02-23' AND t.name = cashier.name) as '10',
(SELECT cashier.11 FROM cashier AS t WHERE date = '2014-02-23' AND t.name = cashier.name) as '11',
(SELECT cashier.12 FROM cashier AS t WHERE date = '2014-02-23' AND t.name = cashier.name) as '12'
FROM cashier
WHERE NAME = 'John Doe'