我搜索了几个小时,但我找不到解决问题的方法。
我有一个查询产生一个2列表,如:
key value
str01 color
str03 size
str04 length
str07 width
str08 height
str09 propertyXY
另一个以str01到str10作为列名的表。
id str01 str02 str03 str04 ...
1 blue NULL big 123m
是否可以使用一个队列检索以下内容?
id color size length ...
1 blue big 123m
(注意第一个队列结果中不存在str02) 所以基本上我想根据上面提到的子查询动态地重命名最终输出查询的列名。
如果有人知道如何处理这个问题会很棒。
答案 0 :(得分:0)
您可以像下面那样转换您的列,除了不可能。
mysql> select id,
-> str01 as color,
-> str02 as property_1,
-> str03 as size,
-> str04 as length,
-> str05 as property_2,
-> str06 as property_3,
-> str07 as width,
-> str08 as height,
-> str09 as propertyXY,
-> str10 as property_4
-> from tx2;
+------+-------+------------+------+--------+------------+------------+-------+--------+------------+------------+
| id | color | property_1 | size | length | property_2 | property_3 | width | height | propertyXY | property_4 |
+------+-------+------------+------+--------+------------+------------+-------+--------+------------+------------+
| 1 | blue | NULL | big | 123m | NULL | NULL | NULL | NULL | NULL | NULL |
+------+-------+------------+------+--------+------------+------------+-------+--------+------------+------------+
1 row in set (0.00 sec)