![]() |
Join sortieren
Hallo,
ich habe mal wieder ein Datenbankproblem. Ich fülle ein DBGrid mit Daten aus drei Tabellen. Der SQL-Befehl des DataSets ist nach folgendem Prinzip:
SQL-Code:
Die Abfrage funktioniert ohne Probleme.
SELECT a.id, a.bezeichnung, b.bezeichnung, c.bezeichnung
FROM TableA a INNER JOIN TableB b ON a.table2id = b.id INNER JOIN TableC c ON b.table3id = c.id Ich möchte nun die Datenmenge durch Klick auf die Titelleiste der entsprechenden Spalte sortieren. Die Prozedur hierfür funktioniert fehlerfrei bei DataSets ohne Joins. Ich füge an den SelectSQL des Datasets einfach "ORDER BY" + den entsprechenden Spaltennamen, und nach bedarf "DESC" an. Bei diesem Join hab' ich jedoch das Problem, dass ich 3 Spalten namens "Bezeichnung" habe und die Sortierung mittels "ORDER BY tabelle.feld" durchgeführt werden müsste. Meine Frage nun, gibt es irgendeine Möglichkeit beim Klick auf den Spaltennamen die jeweilige Tabelle bzw. den Alias des Feldes herauszufinden? Gibt es andere herangehensweisen? Ich hoffe, ich konnte mein Problem einigermaßen verständlich beschreiben :-) Dank und Grüsse im Vorraus, Thomas |
Re: Join sortieren
Hai mr_chrome,
mal so ein Schuss ins Blaue.... Versuche es doch mal so:
SQL-Code:
SELECT a.id, a.bezeichnung AS bez_a, b.bezeichnung AS bez_b, c.bezeichnung AS bez_c
FROM TableA a INNER JOIN TableB b ON a.table2id = b.id INNER JOIN TableC c ON b.table3id = c.id |
Re: Join sortieren
Bei Oracle geht auch ein order by über den Spalten-Index:
z.B.: order by 1 für den ersten Spaltennamen. Ob das auch bei anderen DBs geht, weiß ich nicht. |
Re: Join sortieren
@Jasocul:
Das ist die Lösung! Geht auch beim Interbase. Ich dachte mir schon, dass die Lösung mal wieder viel einfacher ist als ich dachte :-) @Sharky: Das funktioniert leider auch nicht, hatte ich auch schon probiert. Aber wie gesagt, die Lösung ist einfacher als angenommen. Viele Dank, Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz