1 sql查询中的多个count语句,没有subselect

时间:2012-08-22 12:52:18

标签: sql join count group-by multiple-tables

是否可以执行此查询不使用子选择

  • 用户:
  • id
  • 名称

value_type_1

  • ID
  • USER_ID

value_type_2

  • ID
  • USER_ID

我想要一个返回的SQL查询:

id | name | Count(value_type_1) | Count(value_type_2)
1    foo     5                     2
2    bar     3                     7
n    etc..   x                     y

1 个答案:

答案 0 :(得分:1)

您可以使用联接

select user.id, user.name, count(distinct value_type_1.id),count(distinct value_type_2.id)
from user
   left join value_type_1 on user.id = value_type_1.user_id
   left join value_type_2 on user.id = value_type_2.user_id
group by user.id, user.name