Frage

Wie kann ich auswählen und concat jedes Feld in einer Reihe?

Ich möchte etwas ähnliches wie dies tun:

SELECT concat(SELECT GROUP_CONCAT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name')
as single FROM tbl_name

.. aber offensichtlich die oben funktioniert nicht. Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Sie haben die Build die Abfrage dynamisch, das heißt Liste alle Spalten in concat(...) explizit. Sie können durch Ausführen von zwei Abfragen oder in einer gespeicherten Prozedur auf der Client-Seite tun, dass eine vorbereitete Anweisung.

Andere Tipps

Sie können es in 3 Schritten tun:

1- Build-Feldliste

SELECT group_concat( column_name ) as field_list
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'TABLE_NAME'
GROUP BY table_name
LIMIT 0 , 1

2 den Wert von field_list Feld Kopieren

3- Extract Daten:

SELECT CONCAT( "Paste value copied at previous step" )
FROM TABLE_NAME

Wenn Sie eine gespeicherte Prozedur erstellen, als Sie die obigen Schritte kombinieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top