SELECT
T.clinic_code, C.dt, T.schedule_time, T.section_name,
T.section_content, CS.schedule_event_source_id
FROM Master_Templates T
INNER JOIN Calendar C
ON T.dw = C.dw
AND T.mo = (C.D - 1)/7 + 1
AND C.Y = '2014'
AND C.M = '3'
AND T.clinic_code = 'ABC'
LEFT OUTER JOIN Clinic_Schedule CS
ON CS.schedule_date=convert(varchar, C.dt, 121)
AND CS.clinic_code=T.clinic_code
AND CS.schedule_time=T.schedule_time
AND CS.section_name = T.section_name
WHERE CS.schedule_event_source_id = 2
Clinic_Schedule包含1個記錄:改變查詢返回的行不匹配
clinic_code | schedule_date | schedule_time | section_name | schedule_event_source_id ABC | 2014-03-03 | AM |教師| 2
Master_Template包含168個記錄:
clinic_code | dw | mo | schedule_time | section_name | section_content
日曆包含列以加入Master_Template記錄與星期幾。
如何更改上面的查詢以返回167行?即master_template中的總行數減去clinic_schedule中的行數。
你至少需要將日曆上的連接更改爲左連接? – CarneyCode 2011-03-12 09:04:19