我有這樣的表,稱爲history
(日期是DD-MM-YYYY):SQL查詢組通過mount和
====================
| Buy | Qty |
====================
| 01-01-2012 | 1 |
| 01-01-2012 | 1 |
| 01-02-2012 | 1 |
| 01-03-2012 | 1 |
| 01-05-2012 | 1 |
| 01-07-2012 | 1 |
| 01-12-2012 | 1 |
====================
注:有以月4,6沒有購買,8,9 ,10,11
如果我運行:
SELECT MONTH(buy) AS day, YEAR(buy) as year, SUM(qty)
FROM history
GROUP BY MONTH(buy),YEAR(buy)
我得到這樣的結果:
======================
| Month | Year | Qty |
======================
| 01 | 2012 | 2 |
| 02 | 2012 | 1 |
| 03 | 2012 | 1 |
| 05 | 2012 | 1 |
| 07 | 2012 | 1 |
| 12 | 2012 | 1 |
======================
我想月4,6,8,9,10,11,以表現出太多,但有0(零)Qty
,就像這樣:
======================
| Month | Year | Qty |
======================
| 01 | 2012 | 2 |
| 02 | 2012 | 1 |
| 03 | 2012 | 1 |
| 04 | 2012 | 0 |
| 05 | 2012 | 1 |
| 06 | 2012 | 0 |
| 07 | 2012 | 1 |
| 08 | 2012 | 0 |
| 09 | 2012 | 0 |
| 10 | 2012 | 0 |
| 11 | 2012 | 0 |
| 12 | 2012 | 1 |
======================
我怎樣才能做到這一點?
什麼是「master..spt_values」過濾數據? – Kenjiro 2012-08-06 02:09:11
它包含從0到2047的數字,這對於創建數字表格非常有用,正如我在上面所示。請參閱本文http://stackoverflow.com/questions/4273723/what-is-the-purpose-of-system-表表主SPT值和乜是最我。 – praveen 2012-08-06 02:28:49
而不是你可以使用遞歸cte如上所示 – praveen 2012-08-06 02:29:39