質問

行内のすべてのフィールドを選択して連結するにはどうすればよいですか

次のようなことをしたい:

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

..しかし、明らかに上記は機能しません。提案はありますか?

役に立ちましたか?

解決

クエリを動的に作成します。つまり、 concat(...)のすべての列を明示的にリストします。クライアント側で2つのクエリを実行するか、準備されたステートメントを使用してストアドプロシージャで実行できます。

他のヒント

3つの手順で実行できます:

1-ビルドフィールドリスト

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- field_listフィールドの値をコピーします

3-データの抽出:

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

ストアドプロシージャを作成する場合は、上記の手順を組み合わせることができます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top