Question

Comment sélectionner et concaténer chaque champ à la suite?

Je veux faire quelque chose de similaire à ceci:

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

.. mais évidemment ce qui précède ne fonctionne pas. Des suggestions?

Était-ce utile?

La solution

Vous aurez la construction de la requête de manière dynamique, c’est-à-dire la liste de toutes les colonnes de concat (...) de manière explicite. Vous pouvez le faire côté client en exécutant deux requêtes ou dans une procédure stockée à l'aide d'une instruction préparée.

Autres conseils

Vous pouvez le faire en 3 étapes:

1- Liste des champs de construction

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- Copiez la valeur du champ field_list

3- Extraire les données:

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

Si vous créez une procédure stockée, vous pouvez combiner les étapes ci-dessus

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top