Finde die SQL-Abfrage dazu nicht



  • Hallo zusammen. ich habe ein problem mit dem ich mich schon seit wochen beschäftige. Ich bekomme es einfach nicht hin eine Abfrage zu bekommen. Folgendermassen sehen meine beiden Tabellen aus.

    Tabelle1:
    BearbNr ProduktID ArtAnzahl
    1 10 4
    2 10 4
    3 10 4
    4 11 24

    Tabelle2:
    BearbNr KundNr
    1 100
    2 100
    3 101

    Jetzt müßte ich halt wissen wieviel Artikel mit der ID 10 gekauft wurden und von wievielen veschiedenen Kunden. Irgendwie komme ich einfach nicht zum Ergebnis. Ich sitze schon seit einem Tag.

    Das Ergebnis sollte folgendermassen aussehen:

    ProduktID ArtAnzahl VerschiedeneKäufer
    10 12 2

    Es wäre super wenn mir jemand helfen würde dafür eine SQL-Anweisung zu finden.

    Ich habe schon folgendes hinbekommen aber das ist nicht das wahre:

    select Tabelle1.ProduktID,sum(Tabelle.ArtAnzahl),count(Tabelle.KundNr) from Tabelle1,Tabelle2 where Tabelle1.BearbNr = Tabelle2.BearbNr group by Tabelle1.ProduktID

    bei dieser Anweisung bekomme ich leider die Anzahl der verschieden Käufer falsch. Ich bekomme 3, es sollen aber 2 sein.

    Wenn ich jedoch zu group by noch Tabelle2.KundNr dazu tue dann wird das ganze nochmal aufgeteil und es enstehen dann zwei zeilen für ProduktID 10 jedoch will ich es in einer Zeile haben.



  • hm. nicht getestet und auch nicht besonders elegant 😎

    Select
    	ProductID,
    	Sum(ArtAnzahl),
    	(
    		Select
    			Count(KundenNr)
    		From Tabelle2
    			Inner Join Tabelle1 On Tabelle2.BearbNr=Tabelle1.BearbNr
    		Where ProduktID=T1.ProduktID
    		Group By KundenNr	
    	) As VerschiedeneKaeufer
    From Tabelle1 T1
    Groupy by ProduktID
    

Anmelden zum Antworten