2016-06-30 19 views
0

Hallo Ich versuche, die Summe der Verschwendung Wert aus verschiedenen Tabelle des gleichen Datums zu bekommen.Ich kann die gewünschte Ausgabe von der unten Abfrage erreichen, aber es scheint zu groß und repetiert auch .Ist es eine andere Möglichkeit, die query.Thanks im Vorausgibt es eine bessere Möglichkeit, diese Union Abfrage zu schreiben

select SUM(WasteValue) as WasteValue from(
select sum(im.Pur_Rate *wd.Item_Qty) as WasteValue from [Item Master] im 
inner join [waste Details] wd on wd.Item_Code=im.Item_Code 
inner join [waste Master] wm on wd.Waste_No=wm.Waste_No 
and CONVERT(date,wm.Waste_Date,120)BETWEEN '2016-06-30' 
and '2016-06-30' and im.Type_Code=1 and im.Branch_Code=0 
union 
select sum(im.Pur_Rate *wd.Item_Qty) as WasteValue from [Item Master] im 
inner join [Counter Waste Details] wd on wd.Item_Code=im.Item_Code 
inner join [Counter Waste Master] wm on wd.Waste_No=wm.Waste_No 
and CONVERT(date,wm.Waste_Date,120)BETWEEN '2016-06-30' 
and '2016-06-30' and im.Type_Code=1 and im.Branch_Code=0)Wastage 
+0

Vereinigung von zwei aggregierten Werten? .. –

+0

yep aber von zwei unabhängigen Tabellen. – Venkatvasan

+0

Du hast mich nicht verstanden: und was machst du damit? Keine IDs nur zwei Zahlen. –

Antwort

0

erwarten Sie nicht viel mit dieser Datenstruktur zu schrumpfen, aber sie zumindest die gemeinsamen Teile aus den Klammern wie folgt zu erreichen:

select SUM(Pur_Rate * Item_Qty) as WasteValue from (
select im.Pur_Rate, wd.Item_Qty, wm.Waste_Date, im.Type_Code, im.Branch_Code 
from [Item Master] im 
inner join [waste Details] wd on wd.Item_Code=im.Item_Code 
inner join [waste Master] wm on wd.Waste_No=wm.Waste_No 
union 
select im.Pur_Rate, wd.Item_Qty, wm.Waste_Date, im.Type_Code, im.Branch_Code 
from [Item Master] im 
inner join [Counter Waste Details] wd on wd.Item_Code=im.Item_Code 
inner join [Counter Waste Master] wm on wd.Waste_No=wm.Waste_No) Wastage 
where CONVERT(date,Waste_Date,120) BETWEEN '2016-06-30' and '2016-06-30' 
and Type_Code=1 and Branch_Code=0 

Wenn ich Sie wäre, würde ich in der Kombination von Tabellen mit ähnlichen Zwecken (Waste Maste (z. B. Master of Counter) und mit einer Flagge, um zwischen den beiden zu unterscheiden.

Verwandte Themen