如何使用嵌套SELECT语句在内部子句中使用外部子句的值?例如:如何在内部子句中使用外部子句的列名?
SELECT cost AS c, quantity, (SELECT COUNT(1) FROM accounts WHERE cost = c)
FROM accounts
可以在内部SELECT子句中引用c
如上面的尝试?
如何使用嵌套SELECT语句在内部子句中使用外部子句的值?例如:如何在内部子句中使用外部子句的列名?
SELECT cost AS c, quantity, (SELECT COUNT(1) FROM accounts WHERE cost = c)
FROM accounts
可以在内部SELECT子句中引用c
如上面的尝试?
别名外表(例如,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
这在MySQL中正常工作。你在用什么? – 2010-08-05 11:41:35