JOIN我有這個疑問在這裏:SQL LEFT OUTER以計數
SELECT a.timeSlot, a.dateSlot, COUNT(concat(b.dateSlot, ' - ', b.timeSlot)) AS counter
FROM CP_VIP_Preview_TimeSlots as a
LEFT OUTER JOIN [CP-VIP-Preview] as b
ON a.timeSlot = b.dateSlot
AND a.dateSlot = b.timeSlot
GROUP BY a.timeSlot, a.dateSlot, a.[order]
ORDER BY a.[order]
我所試圖做的就是讓每一個計數,該查詢做的事,但被搞砸了,有任何行0顯示爲1,任何實際上有一個項目的行都顯示正確的編號,如果行計數爲0,則顯示1 ....爲什麼這樣做?
如果您試圖從b計數非空值,請停止使用CONCAT,因爲即使對於不匹配的行也不會返回NULL,或者兩個輸入都爲NULL。比較'SELECT COUNT(CONCAT(NULL,'。'));''到'SELECT COUNT(NULL +'。');' –