Vergleich



  • Also ich habe eine Tabelle Test, die aus Name und ID besteht.
    Nun möchte ich alle auswählen, die gleichen namen haben und von denen alles ausgeben.

    Aufbau der Tabelle:

    Gerd   1
    Markus 2
    .
    .
    .
    

    meine sql-abfrage:

    select *
    from Test as t1 , Test as t2
    where t1.name = t2.name and t1.id != t2.id
    

    Problem: mir wird jedes Paar doppelt angezeigt also zB

    Gerd 1 Gerd 15
    Gerd 12 Gerd 1

    das möchte ich eigentlich vermeiden.
    Mir reicht wenn eines der Pärchen angezeigt wird zb

    Gerd 1 Gerd 15.

    Oder wie würde es funktionieren wenn ich statt doppelt vorkommend, n-fach vorkommende Daten suchen möchte?



  • select *
    from Test as t1 , Test as t2
    where t1.name = t2.name and t1.id < t2.id
    

    Entsprechend für n Tabellen (t1.id < t2.id and t2.id < t3.id etc.).


Anmelden zum Antworten