Entwickler-Ecke
Datenbanken - SQL/Firebird kategorische Limitierung einer Datenmenge
inriz - Di 31.10.06 11:22
Titel: SQL/Firebird kategorische Limitierung einer Datenmenge
hallo,
ich formuliere gerade ein query, das mir user ausgeben soll, die gruppen angehören.
dazu sind 3 tabelle nötig, die ich in meine query einbeziehen muss. soweit klappt alles ganz gut. der nächste schritt
ist jedoch ein wenig schwieriger zu lösen in meinen ermessen. und zwar soll eine gruppenübersicht erstellt werden, die jeweils maximal 3 zugehörige gruppenmitglieder anzeigen. nun möchte ich mein sql query so formulieren, das für jede gruppe die zugehörigen benutzer gezählt werden und maximal nur 3 benutzer einer gruppe im resultset auftauchen!
is das möglich?
SQL-Anweisung
1: 2: 3: 4: 5: 6: 7: 8: 9:
| select fs.SECTION_NAME, fs.SECTION_ID, fs.ID, l.l_id, l.l_vorname from FAVOURIT_SECTIONS fs, FAVOURITS f, LOVER_1 l where fs.ID = 94 and fs.ID = f.ID and fs.SECTION_ID = f.SECTION_ID and f.F_ID = l.L_ID order by fs.SECTION_ID; |
diese sql funktion sollte nun erweitert bzw. umformuliert werden.
ich danke im vorraus ;-)
Moderiert von
Klabautermann: list-i-Tags durch SQL-Tag ersetzt
UGrohne - Di 31.10.06 14:48
Kannst Du mal die Datenbankstruktur genauer erklären, weil anhand des Queries seh ich nicht wirklich, was da jetzt was ist.
hansa - Di 31.10.06 14:48
Wie sehen die drei beteilgten Tabellen denn aus ? Meine Glaskugel meint, laut Frage könnten sie eventuell sogar gleich aufgebaut sein. 8)
inriz - Di 31.10.06 15:32
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| [favourit_sections] id : integer (benutzerid, FK von Tabelle lover_1) section_id : integer (sektionsid, PK) section_name : varchar 50 (...) created : timestamp
[lover_1] id : integer (PK) vorname : varchar nachname : varchar ...
[favourits] (zuordnungstabelle - sektion- und benutzerid) id : integer (FK, Benutzerid, Besitzer) section_id : integer (fk) f_id : integer (fk, Benutzerid - welchen benutzer hat er welcher sektion zugeordnet) state : smallint created : timestamp |
hansa - Di 31.10.06 16:09
Was mir vorschwebte, geht damit nicht. Nächste Frage : reicht es aus, wenn Du 3 Zeilen hast und von links nach rechts werden im Dataset zuerst die Felder von Tabelle 1 aufgelistet, dann die von 2 und 3 ? Insgesamt aber nur 3. Das beträfe dann insgesamt 9 Datensätze aus den 3 Tabellen, die eben in 3 Zeilen darstellbar wären.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!