我有一个SQL查询
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;
来自this question here.老实说,我几乎不理解它,我很惊讶它甚至可能,但在修改了一些名字之后它完全符合我的需要,但我需要它在“视图”中。
如何将其添加到我的数据库中的视图?
非常感谢
答案 0 :(得分:0)
我想这个问题已经有一段时间了,但是我知道这是可能的。
对准备好的查询的最后部分进行一些修改,如下所示,这将帮助您实现目标:
只需在PREPARE stmt
SET @qrys = CONCAT('CREATE OR REPLACE VIEW "put_your_view_name_without_quote" AS ',@qry);
PREPARE stmt FROM @qrys;
EXECUTE stmt;