从一个表中获取数据列表,从另一个表获取一些记录数,是否可以在一个查询中执行?

时间:2010-09-25 11:27:58

标签: mysql phpmyadmin

我有两张桌子 - countriestours

countries包含字段(id),(name),(order

tours有字段(id),(id_country)...


我需要从订单排序的表id获取namecountries的完整列表,以及表tours中的记录数,其中{{ 1}}。tours = id_countrycountries id

是的,我需要得到这样的清单

countries

是否可以在一个查询中执行?

非常感谢

3 个答案:

答案 0 :(得分:2)

SELECT countries.id, countries.name, COUNT(id_country) AS Count
FROM countries
LEFT JOIN tours
on tours.id_country = countries.id
GROUP BY id_country
ORDER BY countries.order

答案 1 :(得分:2)

SELECT C.id,
       C.name,
       COUNT(T.id) as count_of_tours
  FROM countries C
  LEFT JOIN tours T
         ON T.id_country = C.id
 GROUP BY C.id,
          C.name
 ORDER BY C.order

答案 2 :(得分:0)

这是真的可能你需要学习的是连接的使用。使用连接时,可以连接两个表的结果,并将输出作为一个输出。

SELECT id,name,COUNT(id_country)FROM countries LEFT JOIN tour to tours.id_country = countries.id order by countries.id;