Oracle-Spalten umbenennen von automatisch auswählen?
Ich habe 2 Tabellen mit folgenden Feldern.
Tabelle1
- AA
- BB
- CC
- DD
Tabelle2
- AA
- CC
- EE
Abfrage
Select t1.*,
t2.*
from table1 t1,
join table2 t2 on table1.DD = table2.EE
Meine Daten Spalten wieder mit den folgenden Spaltennamen:
AA, BB, CC, DD, **AA_1**, **CC_1**, EE
Ich will nicht die Spaltennamen so. Ich möchte, dass Sie der name der Tabelle vorangestellt, in der die Namen der gemeinsamen (oder alle-Spalten). Ich dieses Problem beheben könnte:
select t1.AA as t1_AA, t1.BB as t1_BB, t1.CC as t1_CC, t1.DD as t1_DD,
t2.AA as t2_AA, t2.CC as t2_CC, t2.EE as t2_EEE
from table1 t1,
inner join table2 t2
on table1.DD = table2.EE
Aber das bedeutet, dass jeder wählen überall wird 500 Zeilen mehr. Gibt es einen magischen Weg, dies zu tun in oracle? Grundsätzlich möchte ich mal meinen code wie
select t1.* as t1_*, t2.* as t2_*
from table1 t1,
inner join table2 t2
on table1.DD = table2.EE
Aber natürlich ist das keine gültige SQL -
InformationsquelleAutor bwawok | 2010-09-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Oracle
SELECT
syntax, es gibt derzeit keine Möglichkeit zum zuweisen Spalte Aliase auf mehrere Spalten basierend auf einem Ausdruck. Sie müssen einen alias zuweisen, um jede einzelne Spalte.InformationsquelleAutor vls
Nicht, dass ich bewusst bin. Ihre Optionen betragen:
Adresse die Spalte benennen von Schema - müssten Sie mithilfe von ALTER TABLE-Anweisungen wie:
Verwenden Sie spaltenaliasnamen
Könnten Sie Ansichten speichern, auf der Arbeit & Anstrengungen, zu definieren Spalte Aliase, aber es ist nicht eine empfohlene Praxis wegen der schlechten Leistung bei der Schichtung Ansichten übereinander.
InformationsquelleAutor OMG Ponies
Ist das erstellen einer Sicht eine option?
Was ist die software, die Sie verwenden, bedeutet das für Sie? Ich sehe nicht ein dieses Verhalten in SQL*Plus und PL/SQL-Entwickler in 10g. PL/SQL wird nicht ließ Sie bauen ein cursor mit dieser Mehrdeutigkeit.
InformationsquelleAutor DCookie
Versuchen, diese
Wie er schon sagte, Sie müssen es tun, pro Spalte
as t1.BB
die aussieht wie ein Tippfehler.InformationsquelleAutor Badmiral