Domanda

Come posso selezionare e concaturare tutti i campi di una riga?

Voglio fare qualcosa di simile a questo:

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

.. ma ovviamente quanto sopra non funziona. Qualche suggerimento?

È stato utile?

Soluzione

Dovrai creare la query in modo dinamico, ovvero elencare tutte le colonne in concat (...) in modo esplicito. Puoi farlo sul lato client eseguendo due query o in una procedura memorizzata utilizzando un'istruzione preparata.

Altri suggerimenti

Puoi farlo in 3 passaggi:

1- Elenco campi compilati

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- Copia il valore del campo field_list

3- Estrai dati:

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

Se si crea una procedura memorizzata, è possibile combinare i passaggi precedenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top