如何在MySql中选择列表作为虚拟列?

时间:2015-07-16 14:09:21

标签: mysql virtual-column

我知道我可以使用

选择一个值
SELECT 'value' AS col;

但我需要将一个数字列表作为列返回。像

这样的东西
SELECT ('value1', 'value2', 'value3') AS col;

更确切地说,我需要做

SELECT * FROM my_table
INNER JOIN (SELECT ('value1', 'value2', 'value3') AS col ) AS x ON my_table.id = x.col

有人知道我该怎么办?

**** **** EDIT

让我用更多细节解释我的问题,也许你可以提出一个不同的方法来解决它。

我有下表

+--------+--------+------+
| tb1_id | tb2_id | main |
+--------+--------+------+
|     15 |  81123 |    1 |
|     16 |  81599 |    1 |
|     17 |  82101 |    0 |
|     17 |  82102 |    1 |
|     18 |  82101 |    0 |
|     18 |  82102 |    0 |
|     18 |  82103 |    1 |
+--------+--------+------+

我需要构建一个返回类似内容的查询:

+--------+--------+---------------+
| tb1_id | main   | assoc         |
+--------+--------+---------------+
| 15     | 81123  |               |
| 16     | 81599  |               |
| 17     | 82102  |  82101        |
| 18     | 82103  |  82102, 82101 |
+--------+--------+---------------+

目前我使用子查询来获得结果,但我遇到了性能问题。

0 个答案:

没有答案