mysql将列转换为行
我有一个视图是从多个表中创建的视图结构是mysql将列转换为行,mysql,Mysql,我有一个视图是从多个表中创建的视图结构是 id col1 col2 col3 col4 101 A B B NULL 102 C F A G 等等(这是示例) 我想创建另一个看起来像 ID col_name value 101 col1 A 101 col2 B 101 col3 B 101 col4 NUL
id col1 col2 col3 col4
101 A B B NULL
102 C F A G
等等(这是示例)
我想创建另一个看起来像
ID col_name value
101 col1 A
101 col2 B
101 col3 B
101 col4 NULL
102 col1 C
102 col2 F
102 col3 A
102 col4 G
等等
有人能帮上忙吗?也许是这样的:
CREATE VIEW foo
AS
SELECT id, 'col1' AS col_name, col1 as `Value`
UNION ALL
SELECT id, 'col2', col2
UNION ALL
SELECT id, 'col3', col3
UNION ALL
SELECT id, 'col4', col4;
SELECT id,'col1' AS colName, col1 AS value FROM table1
UNION ALL
SELECT id,'col2' AS colName, col2 AS value FROM table1
UNION ALL
SELECT id,'col3' AS colName, col3 AS value FROM table1
UNION ALL
SELECT id,'col4' AS colName, col4 AS value FROM table1
编写新视图直接从多个表获取信息怎么样?