6

子查询是否可以将两个值返回到外部查询?如:

SELECT 1, 
       (SELECT COUNT(*), MAX(*) FROM test_table WHERE test=123) 
FROM another_table

还是有更好的方法来做到这一点?

4

4 回答 4

7

如果在FROM子句中使用子查询而不是字段列表,则可以将输出视为表并引用单独的列。

于 2010-12-20T00:39:31.277 回答
1

您只是选择数字作为结果,所以您不能这样做:

SELECT 1, COUNT(*), MAX(*) FROM test_table WHERE test=123
于 2010-12-20T00:38:21.997 回答
0

不可能

mysql> select 1, (select 2, 3) from dual;
ERROR 1241 (21000): Operand should contain 1 column(s)

如果您正在处理两个表并且您在一行中得到什么结果,您应该执行连接。

于 2010-12-20T00:39:20.700 回答
0

嗯,这取决于您到底想对数据做什么,您可以使用JOIN语法连接两个表,其中一个表实际上可以是子查询。我想这可能就是你想要的。

我什至不是用户您当前的查询将做什么..

文档: http ://dev.mysql.com/doc/refman/5.0/en/join.html

于 2010-12-20T00:42:37.743 回答