Mysql 如何从行中选择几个单元格并在列中显示它们?
比如说,我有一张设计糟糕的桌子,甚至没有。 看起来是这样的:Mysql 如何从行中选择几个单元格并在列中显示它们?,mysql,sql,select,Mysql,Sql,Select,比如说,我有一张设计糟糕的桌子,甚至没有。 看起来是这样的: +-----+---------+---------+---------+---------- | id | value 1 | value 2 | value 3 | others... +-----+---------+---------+---------+---------- | 1 | 1v1 | 1v2 | 1v3 | sth +-----+---------+---------+------
+-----+---------+---------+---------+----------
| id | value 1 | value 2 | value 3 | others...
+-----+---------+---------+---------+----------
| 1 | 1v1 | 1v2 | 1v3 | sth
+-----+---------+---------+---------+----------
| 2 | 2v1 | 2v2 | 2v3 | sth
+-----+---------+---------+---------+----------
现在我想从这个表中选择值1,值2,值3,并在列中显示它。
这是预期输出:
+----+--------+
| id | val |
+----+--------+
| 1 | 1v1 |
+----+--------+
| 1 | 1v2 |
+----+--------+
| 1 | 1v3 |
+----+--------+
| 2 | 2v1 |
+----+--------+
| 2 | 2v2 |
+----+--------+
| 2 | 2v3 |
+----+--------+
有什么办法吗
SELECT id, `value 1` AS val
FROM your_table
UNION ALL
SELECT id, `value 2` AS val
FROM your_table
UNION ALL
...
等所有必要的列。您可能希望使用UNION
而不是UNION ALL
。它会删除重复项
等所有必要的列。您可能希望使用
UNION
而不是UNION ALL
。它会删除重复项。您是否纯粹在MySQL中尝试这样做?或者在编码项目中?纯SQL。下面的答案对我来说是完美的。你是想用MySQL来做这件事吗?或者在编码项目中?纯SQL。下面的答案非常适合我。