[MSSQL] Abfragen verbinden

flashOr

Erfahrenes Mitglied
Hallo,
ich verzweifle bald mit meinem Problem deshalb wende ich mich nun vertrauensvoll an euch ;)
Ich möchte 2 Abfragen miteinander verbinden:
1.)
SELECT Product, FY, SUM(Ord_Qty) AS sum_qty_fsu
FROM Historical_Prod_Sales_Data
WHERE Product LIKE '8703B' AND (FM IN (01, 02, 03, 04, 05, 06) AND ActualSupplier <> 'non-fsu'
GROUP BY Product, FY
2.)
SELECT Product, FY, SUM(Ord_Qty) AS sum_qty_nonfsu
FROM Historical_Prod_Sales_Data
WHERE Product LIKE '8703B' AND (FM IN (01, 02, 03, 04, 05, 06) AND ActualSupplier LIKE 'non-fsu'
GROUP BY Product, FY

Wie ihr seht ist also der einzige Unterschied im Where Teil zu finden. Die Ideallösung wäre wenn ich vier Spalten bekäme und in einer Spalte die Summe der Ord_Qty für 'non-fsu' stehen würde und in einer anderen die Summe der Ord_Qty für alle anderen.
Vielleicht lässt sich das irgendwie mit Subqueries oder T-SQL Funktionen lösen. Ich bin jedenfalls mit meinem Latein am Ende.
 
Probier doch mal:
SELECT Product, FY, SUM(Ord_Qty) AS sum_qty_fsu
FROM Historical_Prod_Sales_Data
WHERE Product LIKE '8703B' AND (FM in (01,02,03,04,05,06) AND ActualSupplier <> 'non-fsu' AND ActualSupplier LIKE 'non-fsu'
GROUP BY Product, FY

müsste doch klappen ;-)
 
So gings letztendlich:

SELECT Product, FY, SUM(Ord_Qty) AS sum_qty_fsu, 'nonfsu' AS supplier
FROM Historical_Prod_Sales_Data
WHERE (Product LIKE '8703B') AND (ActualSupplier LIKE 'non-fsu') AND (FM IN (11, 12, 01, 02, 03, 04))
GROUP BY Product, FY
UNION
SELECT Product, FY, SUM(Ord_Qty) AS sum_qty_fsu, 'fsu' AS supplier
FROM Historical_Prod_Sales_Data
WHERE (Product LIKE '8703B') AND (ActualSupplier <> 'non-fsu') AND (FM IN (11, 12, 01, 02, 03, 04))
GROUP BY Product, FY
 

Neue Beiträge

Zurück