我的目的是:从值列表中获取多行,如(1,2,3,4,5),('a','b','c','任何')等等.
mysql> select id from accounts where id in (1,2,3,4,5,6);
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 5 |
| 6 |
+----+
5 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
上面的sql肯定没关系,但我的问题是:有没有办法在没有的情况下获得相同的结果
指定一个表?因为我的目的只是通过id_set传播行
另一个例子:
mysql> select now() as column1;
+---------------------+
| column1 |
+---------------------+
| 2009-06-01 20:59:33 |
+---------------------+
1 row in set (0.00 sec)
mysql>
Run Code Online (Sandbox Code Playgroud)
此示例在不指定表的情况下传播单行结果,
但如何从(1,2,3,4,5,6)字符串传播多行?
Fra*_*k V 28
这样的事情应该有效:
SELECT *
FROM (
SELECT 0 as id
UNION SELECT 1
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
)
Run Code Online (Sandbox Code Playgroud)
MySQL有一个虚拟表:DUAL.但是使用DUAL不会改变任何东西(这只是为了方便),当然也不会使这个查询起作用.
我相信有更好的方法来实现你想要做的事情.如果您解释问题,我们可能会提供帮助.