代码之家  ›  专栏  ›  技术社区  ›  CJ7

如何在内部子句中使用外部子句中的列名?

sql
  •  0
  • CJ7  · 技术社区  · 14 年前

    如何使用嵌套select语句在内部子句中使用外部子句的值?如:

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

    罐头 c 在内部select子句中引用是否如上所述?

    1 回复  |  直到 10 年前
        1
  •  2
  •   reko_t    14 年前

    为外部表(例如 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