从一个表中获取数据列表,并从另一个表中获取一些记录数,是否可以在一个查询中执行?
我有两个表 - countries
、tours
。
countries
有字段 (id
),(name
),(order
)
tours
有字段 (id
),(id_country
)...
我需要获取 id
和 name
的完整列表> 来自按顺序排序的表 countries
,以及表 tours
中的记录数,其中 tours
.id_country
= 国家
.id
国家
。
即,我需要获取这样的列表
id name count_of_tours
1 France 15
2 England 22
.............................
是否可以在一个查询中完成?
非常感谢
I have two tables - countries
, tours
.
countries
has fields (id
),(name
),(order
)
tours
has fields (id
),(id_country
)...
I need to get the whole list of id
and name
from table countries
ordered by their order, and the count of records in table tours
, where tours
.id_country
= countries
.id
countries
.
Ie, i need to get such list
id name count_of_tours
1 France 15
2 England 22
.............................
Is it possible to do in one query?
Thanks much
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这确实是可能的,您需要学习的只是连接的用法。使用连接时,您可以连接两个表的结果并将输出作为一个输出。
SELECT id, name, COUNT(id_country) FROM states LEFT JOINtours ontours.id_country =countries.id order bycountries.id;
This is real possible all you need to learn is the usage of joins. When you use join you can join the result from two tables and give the output as one.
SELECT id, name, COUNT(id_country) FROM countries LEFT JOIN tours on tours.id_country = countries.id order by countries.id;