Hallo Zusammen,
ich bin noch relativ neu im SQL-Bereich unterwegs und bin natürlich fleißig dabei selbst meine probleme zu lösen, aber an folgendem bin ich jetzt leider schon etwas länger ohne lösung dran:
In einer Tabelle (Table_1) werden einzeln waren positionen (z.B. online gutschein codes) gehalten.
Bsp.
VendorID,Variant,Code,Sold
H-1234,Variante1,ABC-1234,0
H-1234,Variante1,ABC-4321,1
H-1234,Variante3,ABC-5678,0
…
H-9832,Variante2,CBA-3542,0
H-9832,Variante2,CBA-3512,0
H-9832,Variante2,CBA-3565,0
In einer anderen tabelle (Table_2) werden die Namen der Händler gehalten.
Bsp.
ID,Name
H-1234,Haendler1
…
H-9832,Haendler99
Und in einer dritten tabelle (Table_3) werden die varianten namen gehalten.
Bsp.
VendorID,VariantID,Description
H-1234,Variante1,50 EUR
H-1234,Variante2,75 EUR
H-1234,Variante3,25 EUR
…
H-9832,Variante1,5 EUR
H-9832,Variante2,15 EUR
H-9832,Variante3,25 EUR
Ziel soll eine SELECT Abfrage sein die mir ausgibt wenn für eine Variante eines Händlers der Bestand einen kritischen wert erreicht hat (z.B. <= 10)
Die Information aus Table_1 zu ziehen ist nicht weiter schwer:
SELECT VendorID, Variant, COUNT(Code) AS Anzahl
FROM Table_1
WHERE Sold='0'
GROUP BY VendorID, Variant
HAVING COUNT(Code) <= 10
ORDER BY VendorID
Ergebnis:
H-1234,Variante1,9
H-1234,Variante2,4
H-1234,Variante3,6
…
H-9832,Variante1,1
H-9832,Variante2,10
H-9832,Variante3,3
Allerdings ist das wunschergebnis, nicht die IDs der Haendler und Varianten auszugeben, sondern die richtigen Namen:
Table_2.Name,Table_3.Description,COUNT(Table_1.Code) AS Anzahl
Haendler1,75 EUR,4
Bin für jede hilfe dankbar.
LG, Bloke
