ist es in Mysql möglich, einen Wert aus einer Tabelle auszuwählen, indem Sie die Spaltennummer anstelle des Spaltennamens angeben?mysql - Auswählen von Werten aus einer Tabelle mit der Spaltennummer
Antwort
Ich glaube nicht, dass es "direkt" möglich ist, aber mit einer Abfrage verknüpft mit dem Feld ORDINAL_POSITION der COLUMNS-Tabelle aus dem information_schema sollte die Arbeit tun!
Edit: SPALTEN Tabelle enthält alle Felder aller Tabellen (und ihre Positionen)
nicht nur gesagt, ist möglich, zeigen Beispiele zu gewinnen Upvote .. – ajreal
Sie benötigen eine PL-Sprache oder dynamische sql (nicht in MySQL), die SQL-Strings aus Abfragen erstellen und ausführen können. –
Nein, Sie können nicht die Ordnungs Wert einer Spalte in der SELECT-Klausel verwenden.
Die Spaltenreihenfolge ist für eine Datenbank nicht relevant. Der Ordinalwert basiert auf der Liste der Spalten in der SELECT-Klausel. Der Ordinalwert wird unterstützt nach die SELECT-Klausel - IE: in GROUP BY
und ORDER BY
. Allerdings ist die Verwendung von Ordinalzahlen kein empfohlener Ansatz, da Ordinalzahlen brüchig sind. Wenn jemand die Spaltenreihenfolge in der SELECT-Klausel ändert, kann die Abfrage negativ beeinflusst werden.
aber in regelmäßigen SQL können Sie SELECT 1, 2, 3 FROM Tabelle – J3STER
Ich denke, dass Sie eine einzelne Abfrage mit Variablen rekursiv ausführen müssen. wie for for loop das zu tun.
nicht möglich, was ist Ihr zugrunde liegender Zweck? – ajreal
Ich habe hier einen Beitrag gefunden, der nützlich sein kann: http://forums.mysql.com/read.php?10,286477,286489#msg-286489 Ich bin mir nicht sicher, ob Sie das suchen oder nicht. – RageD