Select语句的子查询出错

时间:2012-01-31 19:25:16

标签: mysql select

我尝试按如下方式执行内部选择查询:

 SET @rank = 0;
 SELECT @rank := @rank + 1 AS id,
      (SELECT a.id, COUNT(*) FROM table_A a GROUP BY a.id) AS count
FROM table_e e, table_p p
WHERE id= '100';

但是我收到了如下错误

“操作数应包含1列”

我自己测试了子查询,但它运行正常。这有什么问题?

修改 实际上我的count子查询看起来像这样:

 (SELECT COUNT(*) FROM table_e e, table_p p a GROUP BY p.id) AS count

我试图计算table_p中table_e中有多少项。

1 个答案:

答案 0 :(得分:1)

问题在于您的查询的一部分,它为一个别名选择两列:

(SELECT a.id, COUNT(*) FROM table_A a GROUP BY a.id) AS count

基于别名的名称,可能不需要选择a.id.