Frage von Pinata, 20

Wie lasse ich SQL-Abfragen in verschiedenen Spalten anzeigen (SQL-Basics)?

Hallo! Wir lernen in der Schule gerade SQL und ich scheitere an Folgendem:

Ich habe eine Tabelle 'Lieferant' mit der Spalte BauteilNr. Jetzt soll ich in einer Abfrage anzeigen lassen wie viele Lieferanten es für jedes Bauteil gibt. Es gibt BauteilNr 18, 20, 145. Folgendes habe ich:

SELECT COUNT (BauteilNr) AS Nr18 FROM Lieferant WHERE BauteilNr = 18;

Jetzt habe ich in der Abfrage eine Spalte namens Nr18 und den Wert 3 in der 1. Zeile. Wie füge ich jetzt in der Abfrage genau das Selbe mit Bauteil 20 und 145 hinzu? Also dass ich am Ende 3 Spalten in der Abfrage habe?

Danke!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von DieAndwoord, 7

hier wäre mehre wege denkbar.

select case when bautteil = 18 then Count(Bauteil) when bauteil = .... else end

from Lieferant

group by bauteil

oder

select count(bauteil) from lieferant where bauteil = 18

union all  

select count(bauteil) from lieferant where bauteil = 20

union ....

danke damit solltest du weiter kommen.

Antwort
von maximilianus7, 19

mit SELECT COUNT(LieferantNr) FROM Lieferant GROUP BY BauteilNr

bekommst du 3 zeilen (oder mit anderen daten entspr. anzahl) mit Anzahl Lieferanten pro Bauteil

-- angenommen LieferantNr ist in der tabelle, sonst entsprechendes (LieferantName oder so)

ich glaub nicht, dass die 3-spalten-lösung von der aufgabenstellung her gefordert ist. ist zwar auch mit sql machbar (mit verschachtelten selects), aber vollkommen wirklichkeitsfremd.  

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten