从SELECT语句的字段列表中的子查询返回COUNT

时间:2019-07-10 07:01:33

标签: sql sqlite

当我运行以下查询时,我想包含一个返回子查询中的记录数COUNT的字段。但是,子查询具有WHERE子句,该子句中的字段必须与父查询的SELECT语句中的字段匹配:

SELECT id, firstName, lastName, 
COUNT(
   SELECT userId, address FROM UserDetails WHERE userId = <id_from_outer_select_statement>
)
FROM Users

我不清楚如何将外部SELECT语句的id字段应用于子查询。

1 个答案:

答案 0 :(得分:2)

为表Users提供别名,并使用它来限定子查询中的列id

SELECT u.id, u.firstName, u.lastName, 
  (SELECT COUNT(*) FROM UserDetails WHERE userId = u.id) counter
FROM Users u