テーブルの説明は次のとおりです
。CREATETABLEmy_table(id
int、name
varchar(9)、value
varchar(13));
INSERT INTO my_table(、、id
) VALUES(0 name
、value
'timezone'、'Europe / London')、(0、'language'、'en')、(0、'country'、 '45')、(0、 '何か'、' x')、(1、'タイムゾーン'、'ヨーロッパ/パリ')、(1、'言語'、' fr')、(1、'国'、' 46');
id name value
0 timezone Europe/London
0 language en
0 country 45
0 something x
1 timezone Europe/Paris
1 language fr
1 country 46
私の結果は見えるはずです
ID TIMEZONE LANGUAGE COUNTRY SOMETHING
0 Europe/London en 45 x
1 Europe/Paris fr 46 (null)
Zend_Db_TableまたはZend_Db_Selectを使用して、Zend Frameworkでこのクエリを実行するにはどうすればよいですか?どうもありがとう!
[追加されたコメントからのクエリを編集]
SELECT CONCAT( 'SELECT table.id', GROUP_CONCAT(CONCAT(' , t_', REPLACE(name, '', ''), '`.value AS `', REPLACE(name, '`', ''), '' ) SEPARATOR ''), '
FROM table` ',
GROUP_CONCAT(CONCAT(' LEFT JOIN table AS t_', REPLACE(name, '', ''), '` ON `table`.id = `t_', REPLACE(name, '`', ''), '.id AND t_', REPLACE(name, '', '``'), '.name = ',
QUOTE(name) ) SEPARATOR ''), '
GROUP BY table.id' )
INTO @qry FROM (SELECT DISTINCT name FROM table) t;
PREPARE stmt FROM @qry;
EXECUTE stmt;