在mysql查询中计算动态列

在mysql查询中计算动态列,mysql,Mysql,我有两张桌子: tourneys -------- tourney_id name 我想选择所有的锦标赛与总人数的成员在该锦标赛 我想查询应该如下所示。这当然会导致语法错误 SELECT t.*, (COUNT(*) FROM tourney_members m WHERE t.tourney_id = m.tourney_id) AS total FROM tourneys t 如何将tourneys.tourney\u id、tourneys.name和成员总数的结果集作为第三列结束?这

我有两张桌子:

tourneys
--------
tourney_id
name
我想选择所有的锦标赛与总人数的成员在该锦标赛

我想查询应该如下所示。这当然会导致语法错误

SELECT t.*, (COUNT(*) FROM tourney_members m WHERE t.tourney_id = m.tourney_id) AS total FROM tourneys t
如何将tourneys.tourney\u id、tourneys.name和成员总数的结果集作为第三列结束?

这只是:

SELECT t.*, COUNT(m.tourney_id) AS total
FROM tourneys t
LEFT JOIN tourney_members m ON t.tourney_id = m.tourney_id
GROUP BY t.tourney_id
子查询是多余的(此外,它在合成上是错误的)。使用JOIN、GROUP BY和COUNT()。
SELECT t.*, COUNT(m.tourney_id) AS total
FROM tourneys t
LEFT JOIN tourney_members m ON t.tourney_id = m.tourney_id
GROUP BY t.tourney_id