שאלה ב SQL
יש לי 2 טבלאות
Daily_Count המכילה את השדות הבאים
TODATE
UNITCODE
CATEGORYֹI אשר לה 2 אופציות S ו U
QUANTITY
UNITS המכילה את השדות הבאים
UNIT_CODE
UNITֹ_NAME
אני רוצה לכתוב שאילתה שתסכם לכל TODATE ולכל UNITֹ_NAME את כמות המכירות והשידרוגים. צריך להציג מכירות גם למכירות שלא ידועה היחידה האירגונית (NULL)
ניסיתי כך:
select D1.[ToDate], D1.[Unit_Code],[dbo].[Units].[Unit_Name], sum(Distinct(D1.[Quantity]))
, sum(Distinct(D2.[Quantity]))
from [dbo].[Units] right JOIN [dbo].[Daily_Counts] as D1 on D1.[Unit_Code]=[dbo].[Units].[Unit_Code]
left JOIN [dbo].[Daily_Counts] as D2 on D2.[Unit_Code]=[dbo].[Units].[Unit_Code]
where
D1.[Category_Id]='S'
and D2.[Category_Id]='U'
and D1.[ToDate] = D2.[ToDate]
Group By D1.[ToDate],D1.[Unit_Code],[dbo].[Units].[Unit_Name],D1.[Category_Id]
אבל לצערי כאשר לא הופעה רשומה ללא יחידה ארגונית. היא לא הופיעה..
מה הפתרון?
תודה
יש לי 2 טבלאות
Daily_Count המכילה את השדות הבאים
TODATE
UNITCODE
CATEGORYֹI אשר לה 2 אופציות S ו U
QUANTITY
UNITS המכילה את השדות הבאים
UNIT_CODE
UNITֹ_NAME
אני רוצה לכתוב שאילתה שתסכם לכל TODATE ולכל UNITֹ_NAME את כמות המכירות והשידרוגים. צריך להציג מכירות גם למכירות שלא ידועה היחידה האירגונית (NULL)
ניסיתי כך:
select D1.[ToDate], D1.[Unit_Code],[dbo].[Units].[Unit_Name], sum(Distinct(D1.[Quantity]))
, sum(Distinct(D2.[Quantity]))
from [dbo].[Units] right JOIN [dbo].[Daily_Counts] as D1 on D1.[Unit_Code]=[dbo].[Units].[Unit_Code]
left JOIN [dbo].[Daily_Counts] as D2 on D2.[Unit_Code]=[dbo].[Units].[Unit_Code]
where
D1.[Category_Id]='S'
and D2.[Category_Id]='U'
and D1.[ToDate] = D2.[ToDate]
Group By D1.[ToDate],D1.[Unit_Code],[dbo].[Units].[Unit_Name],D1.[Category_Id]
אבל לצערי כאשר לא הופעה רשומה ללא יחידה ארגונית. היא לא הופיעה..
מה הפתרון?
תודה