Ich werde mein Szenario vereinfachen - Ich habe diese zwei Tabellen:Wie kann ich Wildcard-Select-Spalten in MySQL benennen?
table_A - id int, id_table_B_one int, id_table_B_two int, name varchar(30)
table_B - id int, name varchar(30), description varchar(30)
Dann habe ich diese Anfrage:
SELECT
table_A.id, table_A.name, table_B_one.*, table_B_two.*
FROM
table_A
LEFT JOIN table_B table_B_one ON table_A.id_table_B_one = table_B.id
LEFT JOIN table_B table_B_two ON table_A.id_table_B_two = table_B.id
Mein Problem ist, dass ich 3 Spalten mit dem gleichen Namen bekommen (id und Name). Ich weiß, dass ich das Schlüsselwort 'AS' verwenden kann, um den Alias einer Spalte anzugeben. Allerdings müsste ich jede ausgewählte Spalte angeben, aber ich muss Wildcard '*' verwenden.
Gibt es eine Möglichkeit, wie kann Alias-Spaltenname mit '*' Wildcard gesetzt werden? Etwas wie folgt aus:.
... table_B_one * AS table_B_one_ * ...
Warum müssen Sie Platzhalter verwenden? Können Sie nicht einfach alle Spalten buchstabieren, die Sie sehen möchten? – SingleNegationElimination
Anstelle von '*' oder 'table. *' Sollten Sie die Spalten, die Sie auswählen, am besten explizit angeben. Listen Sie alle in der SELECT-Anweisung auf. –
TokenMacGuy: Ich muss, weil die SQL-Abfrage tatsächlich dynamisch generiert wird. Wie ich in meiner Frage sagte - es ist sehr vereinfacht für den Zweck dieser Frage, aber Abfrage und seine Verwendung in meinem Fall ist viel komplexer – Frodik