Zum Inhalt springen

SQL: Auslesen mit Gruppierung und mehreren Unterelementen


Empfohlene Beiträge

Geschrieben (bearbeitet)

Ich weiß leider nicht, wo ich das am besten posten soll, falls ich hier falsch bin, bitte ich um verschrieben.

Ich habe das Problem, dass ich in einer Tabelle gruppieren muss, jedoch trotzdem alle Unterelemente zugänglich machen muss.

Die Tabelle sieht vereinfacht so aus:

[table=width: 300, class: grid]

[tr]

[td]ID[/td]

[td]Time[/td]

[td]Name[/td]

[/tr]

[tr]

[td]1[/td]

[td]1377166344[/td]

[td]Name1[/td]

[/tr]

[tr]

[td]2[/td]

[td]1377166344[/td]

[td]Name2[/td]

[/tr]

[tr]

[td]3[/td]

[td]1377166314[/td]

[td]Name3[/td]

[/tr]

[/table]

Ich muss alle Einträge der Zeit nach Gruppieren, muss aber weiterhin auf alle Namen und ID's zugreifen können. Sprich es müsste in etwa so aussehen:

[table=width: 300, class: grid]

[tr]

[td]Time[/td]

[td][/td]

[/tr]

[tr]

[td]1377166344[/td]

[td]

[table=width: 200, class: grid]

[TR]

[td]1[/td]

[td]Name1[/td]

[/TR]

[TR]

[td]2[/td]

[td]Name2[/td]

[/TR]

[/table]

[/td]

[/tr]

[tr]

[td]1377166314[/td]

[td]

[table=width: 200, class: grid]

[TR]

[td]3[/td]

[td]Name3[/td]

[/TR]

[/table]

[/td]

[/tr]

[/table]

weiß jemand, wie ich das anstellen könnte? (so in etwa zumindest, da ich bei der Tabelle keinen rowspan hinbekomme)

Bearbeitet von Shadowman
Geschrieben

Vielen dank für diese Information.

Ich wollte die Daten möglichst nicht geschachtelt auslesen, daher wollte ich nachfragen ob sowas direkt via SQL geht.

Dann geht's ans überlegen, wie ich die Daten möglichst performant im Programm merge

Gast runtimeterror
Geschrieben

Selektiere einfach alle Spalten, die du benötigst und sortiere nach dem Gruppierungskriterium (Time). Das Programm, welches die Ausgabe übernimmt kann dann anhand der sich ändernden Zeit festellen, dass ein Gruppenwechsel statt findet.

Pseudocode, sinngemäß:


records = query("SELECT Time, ID, Name FROM Tabelle ORDER BY Time, ID;")

lastTime = -1

foreach record in records

    time = record["Time"]

    if time <> lastTime then ; Gruppenwechsel erkennen

        print("neue Gruppe: " + time)

        lastTime = time

    endif

    print("ID: " + record["ID"])

    print("Name: " + record["Name"])

next record

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...