0
我有一个表:转换列成行
+--------------+-------+--------+----------+
| attribute_id | color | brand | category |
+--------------+-------+--------+----------+
| 1 | red | honda | cars |
| 2 | blue | bmw | cars |
| 3 | pink | skonda | vans |
+--------------+-------+--------+----------+
我想将其转换为以下几点:
+--------------+---------+
| attribute_id | keyword |
+--------------+---------+
| 1 | red |
| 2 | blue |
| 3 | pink |
| 1 | honda |
| 2 | bmw |
| 3 | skonda |
| 1 | cars |
| 2 | cars |
| 3 | vans |
+--------------+---------+
我能想到的唯一方法是使用UNION
就像这:
SELECT attribute_id, color from attributes
UNION ALL
SELECT attribute_id, brand from attributes
UNION ALL
SELECT attribute_id, category from attributes
以上方式是有点麻烦,尤其是因为我的实际使用情况需要加入每个多个表选择。
有没有简单或更少复制/粘贴的方式写这个?
更重要的是*你想用数据做什么? – Kermit
@FreshPrinceOfSO - 我有一个设计很糟糕的表,有很多列,我想填充我新创建的关键字表。我将使用原始表格中的每个列作为关键字。 – Drahcir
我只需从表格中正常选择*,然后使用您正在使用的任何语言进行处理。 –