![]() |
Datenbank: Firebird • Version: 3.x • Zugriff über: IBDAC
Felder in SQL-Abfrage mit Prefix (Tabellenname) benennen
Hallo,
ich hab eine große Abfrage wie diese (alle Felder für einen kompletten Export):
Code:
Es sind 5 Tabellen mit zusammen etwa 200 Feldern. Das Problem ist, dass es in meheren Tabellen Felder mit dem gleichen Namen gibt. So gibt es z.B. in der Tabelle a ein Feld das Zusatz1 und in der Tabelle b auch Zusatz1 heißt. Das zweite Feld wird im Abfragergebnis dann automatisch zu Zusatz1_1 umbenannt. Wie kann ich automatisch vor ALLE Felder den Tabellennamen setzen? Ich möchte also dass die beiden Felder dann z.B. a_Zusatz1 und b_Zusatz1 heißen. Oder auch nur a_EinFeldNurInA. Immer wenn neue Felder hinzukommen, möchte ich das Script auch NICHT anpassen. Ist das möglich? Danke!
select a.*, b.*, c.* from a
left join b on b.aid = a.id left join c on c.aid = a.id ... |
AW: Felder in SQL-Abfrage mit Prefix (Tabellenname) benennen
Mit Firebird direkt wüsste ich jetzt nicht, aber du könntest dir ja in Delphi den Select mit Hilfe der Firebird-Systemtabellen zusammenbasteln.
Mit der Tabelle RDB$RELATION_FIELDS solltest du alle Felder zu deiner Tabelle finden und dann kannst alle Felder einzeln mit einem definierten Alias zusammenfügen. |
AW: Felder in SQL-Abfrage mit Prefix (Tabellenname) benennen
Zitat:
Um das Script nicht ständig anpassen zu müssen, bietet sich eine View an. Dann muss diese zwar angepasst werden, aber dafür hast du es an zentraler Stelle. |
AW: Felder in SQL-Abfrage mit Prefix (Tabellenname) benennen
Die Frage ist vielleicht auch, was man mit 200 Feldern dann anfängt.
Du könntest dir das SQL Statement selbst erzeugen + dort alle Felder einzeln angeben samt Namen unter dem du das Feld dann ansprechen mnöchtest. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 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