0
カラム名が文字列として渡されるカラム値を連結する必要があります。私はこのようになり設計が不十分なMySQLのテーブルを持っているクライアントいますにmysql concatカラムが文字列として渡される
-------------------------------------------
| id | column_index | c1 | c2 | c3 | .... |c50|
column_indexフィールドはC1、C5、C11と私は何をしたいのような列名のカンマ区切りの文字列ですがありますインデックスとして定義されている列に応じて、連結された列の値のみを返すように(ストアドプロシージャを使用せずに)単一の選択クエリを記述します。このような
何か:それはMySQLのそれに似た何かをしてクエリを作成する方法
SELECT id, column_index, CONCAT_WS(',' FOR col_name IN column_index)
ですか?
あなたは 'のID、' – Uueerdo
@Uueerdo後に '' @colnames = column_indexが欠落しています。 。 。私は 'column_index'を列名として解釈しませんでした。興味深いデータ構造。 –
私はこの構造が深刻に間違っていることに同意します。しかし、これは私のクライアントのプロダクションデータベースであり、私はそこにしかアクセスできないので、私はそれを変更することはできません。だからこそ私はcomlicated SQLで遊ぶ必要があるのです。 –