עזרה עם LEFT JOIN

miketi

New member
עזרה עם LEFT JOIN

שלום ותודה לעוזרים,
יש לי טבלת מאמרים (topics) וטבלת כניסות למאמרים (traffic)
בטבלת traffic אני שומר את התאריכים של הכניסות.

אני מנסה לעשות join בין topics ל traffic כך שאקבל בשאילתה אחת כמות כניסות ל יום, שבוע, חודש, שנה, כולם.

אם אני עושה שאילתה רק על היום זה תקין.
SELECT ISNULL(SUM([TrafficDay].UniqueTraffic), 0) AS TrafficDay,
[Topics].topicNumber
FROM [Topics]
LEFT JOIN [Traffic] AS TrafficDay
ON ([TrafficDay].Date >= '10/16/2013'
AND [TrafficDay].Date <= '10/16/2013')
AND [TrafficDay].TopicNumber = [Topics].TopicNumber
GROUP BY [Topics].TopicNumber


כשאני מוסיף לשאילתה את הכניסות של השבוע הנתונים יוצאים שגויים.

SELECT ISNULL(SUM([TrafficDay].UniqueTraffic), 0) AS TrafficDay,
ISNULL(SUM([TrafficWeek].UniqueTraffic), 0) AS TrafficWeek,
[Topics].topicNumber
FROM [Topics]
LEFT JOIN [Traffic] AS TrafficDay
ON ([TrafficDay].Date >= '10/16/2013'
AND [TrafficDay].Date <= '10/16/2013')
AND [TrafficDay].TopicNumber = [Topics].TopicNumber
LEFT JOIN [Traffic] AS TrafficWeek
ON ([TrafficWeek].Date > '10/09/2013'
AND [TrafficWeek].Date < '10/16/2013')
AND [TrafficWeek].TopicNumber = [Topics].TopicNumber
GROUP BY [Topics].TopicNumber


אחרי הריצה אני מצפה לקבל גם את הנתונים של היום וגם של השבוע והנתונים יוצאים שגויים.
אנא עזרתכם להבין איפה טעיתי...

תודה!
 
למעלה