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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...