Announcement

Collapse
No announcement yet.

komplexer Select

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • komplexer Select

    Hallo,

    bin SQL-Neuling. Ich habe eine Tabelle u.a. mit Feldern NAME, GRUPPE, AUTOR.
    In der Tabelle kann es für einen NAMEN mehrere Datensätze mit unterschiedlichen Einträgen für GRUPPE und AUTOR geben, z.B.:

    [NAME] [GRUPPE] [AUTOR]
    MSK_1 1 1
    MSK_2 1 1
    MSK_2 3 3
    MSK_2 5 1
    MSK_5 5 5
    ...

    Ich möchte nun alle Datensätze auslesen, die nur einen Datensatz pro NAME haben und (bei mehreren Datensätzen pro NAME) nur den Datensatz erhalten
    bei dem GRUPPE und AUTOR möglichst gleich einem vorgegebenen Wert sind.
    Existiert dieser Datensatz nicht, soll der genommen werden, bei dem die GRUPPE übereinstimmt und der AUTOR = 1 ist, scheitert das soll der Datensatz
    genommen werden bei dem GRUPPE 1 und AUTOR = 1 ist.

    Beispiel (AUTOR =5 GRUPPE =3) liefert schon die richtige Reihenfolge:

    SELECT * FROM TEST
    WHERE ((GRUPPE = <3>) AND (AUTOR = <5>)) OR
    ((GRUPPE = <3>) AND (AUTOR = <1>)) OR
    ((GRUPPE = <1>) AND (AUTOR = <1>))
    ORDER BY NAME, GRUPPE DESC, AUTOR DESC

    Wie kann ich das lösen?

    Im Voraus vielen Dank

    Roland
Working...
X