Announcement

Collapse
No announcement yet.

Group by? Distinct? nur eine von 3 fast identischen zeilen soll angezeigt werden.

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

  • Group by? Distinct? nur eine von 3 fast identischen zeilen soll angezeigt werden.

    Hallo,

    ein SQL liefert mir folgendes Ergebnis (vereinfacht dargestellt)

    Name Vorname Geburtsort Geburtsdatum

    A A A 01
    A A A 02
    A A B 03
    A A B 04
    B B C 05
    B B C

    Name und Vorname sind in Tabelle Alpha
    Geburtsort in Tabelle Beta
    Geburtsdatum in Tabelle Gamma

    select alpha.name, alpha.vornmae, beta.geburtsort, gamma.geburtsdatum from alpha, beta, gamma
    where alpha.nameid = beta.nameid
    and alpha.nameid = gamma.nameid

    Wie kann ich realisieren, dass mir nur der kleinste Wert der Spalte Geburtsdatum angezeigt werden, wenn Name, Vorname & Geburtsort gleich sind? Also anstatt von 2 Zeilen nur eine Zeile mit dem kleinsten Wert in Geburtsdatum?

    Zudem habe ich das Problem dass mir beim o.g. SQL die letzte Zeile ohne einem Geburtsdatum nicht angezeigt werden würde, wie kann ich diese trotzdem anzeigen lassen' left join?

    Vielen Dank für ein Feedback. Bin hier bereits 4 Tage am basteln und bekomme es einfach nicht gelöst.

    Gruss
    Michael

  • #2
    Hallo Michael,
    Originally posted by michi4004 View Post
    Zudem habe ich das Problem dass mir beim o.g. SQL die letzte Zeile ohne einem Geburtsdatum nicht angezeigt werden würde, wie kann ich diese trotzdem anzeigen lassen' left join?
    Korrekt.

    Wie kann ich realisieren, dass mir nur der kleinste Wert der Spalte Geburtsdatum angezeigt werden, wenn Name, Vorname & Geburtsort gleich sind? Also anstatt von 2 Zeilen nur eine Zeile mit dem kleinsten Wert in Geburtsdatum?
    Dann nimm doch MIN(gamma.geburtsdatum). Dann brauchst du in der Tat GROUP BY Name, Vorname, Geburtsort.

    Unter Umständen ist es wegen der Gruppierung sinnvoll, zwei Abfragen zu verschachteln; soweit habe ich jetzt nicht gedacht. Vielleicht kannst du dich von den Beispielen in [wikibooks] Einführung in SQL (JOIN, Gruppierung, Unterabfragen) inspirieren lassen.

    Gruß Jürgen

    Comment

    Working...
    X