קבלת נתוני 2 שנים
שלום רב!
אני מריץ על SQL SERVER את בסיס הנתונים לדוגמא של מיקרוסופט northind.
הכיוון שאליו אני חותר, הוא השוואת נתוני המכירות בין 2 שנים עוקבות.
הנתונים מתקבלים מ2 טבלאות: order details, orders. בorders יש את תאריך המכירה, ואילו בorder details יש את מחיר יחידה ואת כמותו.
בתור התחלה כתבתי שאילתה שמוצאת את נתוני המכירה עבור כל שנה, וזה עובד סבבה. להלן השאילתה:
בשלב שני אני מנסה להכניס גם את נתוני השנה הקודמת.
בתור התחלה הכנסתי רק בתוך שורת הfrom את נתוני השנה הקודמת (מה שלכאורה לא אמור לשנות כלום, כי הרי לא משכתי מהם), וזה גורם להצגת מספרים שונים לגמרי. למה?
צירפתי את שלב 2 של השאילתה:
שלום רב!
אני מריץ על SQL SERVER את בסיס הנתונים לדוגמא של מיקרוסופט northind.
הכיוון שאליו אני חותר, הוא השוואת נתוני המכירות בין 2 שנים עוקבות.
הנתונים מתקבלים מ2 טבלאות: order details, orders. בorders יש את תאריך המכירה, ואילו בorder details יש את מחיר יחידה ואת כמותו.
בתור התחלה כתבתי שאילתה שמוצאת את נתוני המכירה עבור כל שנה, וזה עובד סבבה. להלן השאילתה:
select year(
rderDate) , sum(od.Quantity * od.UnitPrice)
from [Order Details] od ,Orders o
where od.OrderID =
rderID
group by year(
rderDate)
order by year(
rderDate)
from [Order Details] od ,Orders o
where od.OrderID =
group by year(
order by year(
בשלב שני אני מנסה להכניס גם את נתוני השנה הקודמת.
בתור התחלה הכנסתי רק בתוך שורת הfrom את נתוני השנה הקודמת (מה שלכאורה לא אמור לשנות כלום, כי הרי לא משכתי מהם), וזה גורם להצגת מספרים שונים לגמרי. למה?
צירפתי את שלב 2 של השאילתה:
select year(
rderDate) , sum(od.Quantity * od.UnitPrice)
from [Order Details] od ,Orders o ,[Order Details] od2 , Orders o2
where od.OrderID =
rderID
group by year(
rderDate)
order by year(
rderDate)
from [Order Details] od ,Orders o ,[Order Details] od2 , Orders o2
where od.OrderID =
group by year(
order by year(