MySQL SELECT nur 1 Feld mit AS-Alias

9

Ich möchte alle Spalten in einer Tabelle auswählen, aber nur einer davon einen Alias ​​geben.

Ich habe diese Tabelle:

%Vor%

Nun möchte ich die base mit einem Alias ​​auswählen: SELECT base AS structure . Aber ich möchte auch alle anderen Felder auswählen, ohne sie alle eingeben zu müssen.

Ich habe versucht, SELECT *, base AS structure , aber es gibt mir einen Fehler.

In Wahrheit ist das nicht wirklich das, was ich will, weil ich nicht will, dass base überhaupt auftaucht.

Ist das überhaupt möglich?

    
John MacArthur 02.08.2011, 01:36
quelle

6 Antworten

10

Nein, ist es nicht. Sauge es auf und tippe sie alle aus:)

    
Tom Studee 02.08.2011 01:39
quelle
4

Nein.

Sie listen entweder die gewünschten auf oder Sie sagen "all", indem Sie * schreiben.

Dies sind die zwei Möglichkeiten, die Ihnen zur Verfügung stehen.

Faulheit: Begone! (Und, seien wir ehrlich, wenn Sie diesen Alias ​​wirklich brauchen, dann wird Ihr Feld wahrscheinlich zuerst falsch benannt ...)

Letztendlich könnten Sie ein VIEW erstellen, um diesen Job transparent auszuführen, aber dann müssten Sie es als ALTER Ihrer ursprünglichen Tabelle aktualisieren.

Ich habe versucht, dies zu vermeiden, aber diese Antwort demonstriert einen Umweg:

%Vor%

(Ersetzen von <table> , <database> und <columns_to_exclude> ).

Ich möchte jedoch wiederholen: nicht. Etwas stimmt nicht, wenn du das tun musst.

    
quelle
2

vielleicht gibt es einen besseren Weg, um Ihr Problem zu lösen, zumindest die folgende Antwort funktioniert für Sie, wenn Sie nicht zu faul sind:

SELECT ID, Basis AS Struktur, Fenster, Dicke, Schattierung, Form ... von yourTable

    
ben 02.08.2011 01:43
quelle
2

soweit ich weiß (und eine Überprüfung mit der MySQL-Dokumentation bestätigt) dass es nicht möglich ist, alle Spalten mit dem ursprünglichen Namen bis auf eins aufzulisten, zumindest mit *.

    
Finn 02.08.2011 01:45
quelle
2

Wenn es Ihnen nichts ausmacht, auch den alten Namen zu haben, können Sie so etwas tun:

SELECT MyTable. *, MyTable.base AS-Struktur

    
user1118279 21.03.2013 15:40
quelle
1

Ineffizient, aber sauber, versuchen Sie, die gleichen Zeilen mit sich selbst zu verbinden, und wählen Sie dann von links die gewünschte Spalte mit ihrem neuen Namen.

ie.

%Vor%     
antago 06.08.2012 19:23
quelle

Tags und Links