Vinzenz Mai: Abfrage welcher Wert nur 1 (2,3,...) mal vorkommt

Beitrag lesen

Hallo,

Also, ich habe in etwa folgende Tabelle (tbl_lage)

ID; xx
1;  1
1;  2
1;  4
2;  1
2;  3
2;  4
3;  1
3;  3
3;  4

Als Antwort möchte ich einfach die '2' haben, da es der einzige Wert ist der nur einmal vorkommt (oder eben die '3' da nur sie genau zweimal vorkommt).

Du möchtest also folgendes:

Gib mir die Werte
    der Spalte xx und
    die Anzahl, wie oft dieser Wert vorkommt

Es ist klar, dass es für jeden Wert der Spalte xx nur einen Datensatz geben darf (Du willst ja nicht dreimal angezeigt bekommen, dass der Wert 4 dreimal vorkommt). Somit kommen wir zu:

SELECT               -- Gib mir die Werte  
    xx,              -- der Spalte xx und  
    COUNT(xx) Anzahl -- die Anzahl, wie oft dieser Wert vorkommt  
GROUP BY             -- und nur eine Zeile für jeden unterschiedlichen Wert  
    xx               -- der Spalte xx  

Mit der HAVING-Klausel die gewünschten Zeilen auszufiltern, dürfte Dir nicht schwer fallen, dafür hast Du bereits Links auf erläuternde Artikel erhalten.

Und statt  '2' oder '3' noch besser die dazugehörige Beschreibung die wiederrum in einer anderen Tabelle (tbl_Gegenstand) steht.

Dazu benötigst Du einen Join. Lesetipps zu Joins habe ich selbstverständlich auch, schließlich haben wir in SELFHTML aktuell gleich zwei Artikel dazu:

- Einführung in Joins
 - Fortgeschrittene Jointechniken

Freundliche Grüße

Vinzenz