2010-08-05 21 views
0

如何使用嵌套SELECT语句在内部子句中使用外部子句的值?例如:如何在内部子句中使用外部子句的列名?

SELECT cost AS c, quantity, (SELECT COUNT(1) FROM accounts WHERE cost = c) 
FROM accounts 

可以在内部SELECT子句中引用c如上面的尝试?

+0

这在MySQL中正常工作。你在用什么? – 2010-08-05 11:41:35

回答

2

别名外表(例如,FROM accounts AS a)。然后你可以简单地在内部子查询中执行a.cost

编辑。这就是说,有没有更好的方式来写这个查询没有每个行的子查询:

SELECT a.cost, a.quantity, COUNT(b.id) AS count 
FROM accounts AS a LEFT JOIN accounts AS b ON b.cost = a.cost 
+0

内部条款如何知道它是帐户的外部还是内部版本? – CJ7 2010-08-05 09:36:20

+0

啊,对不起,应该将外部表别别名,并使用别名。我将编辑答案 – 2010-08-05 09:41:18

+0

您使用的是什么SQL?我似乎无法像这样别名表。我只能这样做:帐号 – CJ7 2010-08-05 10:26:37

相关问题