Hallo,
wenn man 2 Tabellen so abfrägt:
SELECT t1.*, t2.* FROM t1 LEFT JOIN t2....
und es existieren in beiden Tabellen identische Spaltennamen, so scheint immer der Wert der Spalte aus der zweiten Tabelle in den Ergebnis-datensatz aufgenommen zu werden, der Wert aus der ersten Tabelle mit dem gleichen Spaltenname wird hier wohl einfach überschrieben.
Lässt sich sowas verhindern? Manchmal ist es nämlich mühseelig eine ellenlange Spaltenliste in die Query zu packen, da wären halt 2 Angaben mit den Tabellenamen und einfach nen * dazu doch recht bequem.
Cool wäre z.B. eine arbeitsweise mit einem Prefix, also dass dann z.b. das Ergebnis ungefähr in der Art daherkommt:
t1_ID = 2121
t2_ID = 25
.
.
.
Gibts sowas direkt von Mysql her?
Ansonsten bin ich am überlegen ob ich die Query mit den Prefixen nicht automatisch erstellen lasse in dem ich die Tabellen mit 'Show Columns...' abfrage und in ner Schleife eine Query zusammenbauen lasse, sodass in etwa sowas rauskommt:
SELECT t1.ID as t1_ID, t1.Name as t1_Name, t2.ID as t2_ID...
Aber schöner wäre es natürlich wenn es einen 'direkteren' Web gäbe.
Gruss
Quetschi
wenn man 2 Tabellen so abfrägt:
SELECT t1.*, t2.* FROM t1 LEFT JOIN t2....
und es existieren in beiden Tabellen identische Spaltennamen, so scheint immer der Wert der Spalte aus der zweiten Tabelle in den Ergebnis-datensatz aufgenommen zu werden, der Wert aus der ersten Tabelle mit dem gleichen Spaltenname wird hier wohl einfach überschrieben.
Lässt sich sowas verhindern? Manchmal ist es nämlich mühseelig eine ellenlange Spaltenliste in die Query zu packen, da wären halt 2 Angaben mit den Tabellenamen und einfach nen * dazu doch recht bequem.
Cool wäre z.B. eine arbeitsweise mit einem Prefix, also dass dann z.b. das Ergebnis ungefähr in der Art daherkommt:
t1_ID = 2121
t2_ID = 25
.
.
.
Gibts sowas direkt von Mysql her?
Ansonsten bin ich am überlegen ob ich die Query mit den Prefixen nicht automatisch erstellen lasse in dem ich die Tabellen mit 'Show Columns...' abfrage und in ner Schleife eine Query zusammenbauen lasse, sodass in etwa sowas rauskommt:
SELECT t1.ID as t1_ID, t1.Name as t1_Name, t2.ID as t2_ID...
Aber schöner wäre es natürlich wenn es einen 'direkteren' Web gäbe.
Gruss
Quetschi
Kommentar