2

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

私はこれに似た何かをしたい:

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

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

4

2 に答える 2

0

あなたは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

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

于 2009-10-25T22:23:58.323 に答える
0

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

于 2009-10-25T22:03:06.810 に答える