Mysql 选择数据以符合与另一个表相关的条件 帮助

Mysql 选择数据以符合与另一个表相关的条件 帮助,mysql,sql,sql-server,Mysql,Sql,Sql Server,考虑到一名乘客住在他的第一个航班出发的城市,在多次访问莫斯科的其他城市居民中寻找这些乘客。结果集:乘客姓名、莫斯科访问次数 我正试图解决这个问题,但我不知道如何从出发地出发,然后选择飞往莫斯科最多的人,请帮助 select p.name, count(pt.trip_no) from passenger as p, trip as t, pass_in_trip as pt where pt.trip_no = t.trip_no and town_to='Moscow' group by p

考虑到一名乘客住在他的第一个航班出发的城市,在多次访问莫斯科的其他城市居民中寻找这些乘客。结果集:乘客姓名、莫斯科访问次数

我正试图解决这个问题,但我不知道如何从出发地出发,然后选择飞往莫斯科最多的人,请帮助

select p.name, count(pt.trip_no) from passenger as p, trip as t, pass_in_trip as pt
where pt.trip_no = t.trip_no and town_to='Moscow'
group by pt.trip_no;
我的结果集是这样的

'Bruce Willis', '128'
'Bruce Willis', '64'

但我不知道如何让人们多次飞往莫斯科

不知道他们为什么要教逗号分隔连接,但你可以做到这一点

SELECT  p.id_psg,
        p.name,
        COUNT(pt.trip_no)
FROM    passenger AS p
        INNER JOIN pass_in_trip pit ON p.id_psg = pit.id_psg
        INNER JOIN trip AS t ON pit.trip_no = t.trip_no
WHERE   t.town_to = 'Moscow'
GROUP BY p.id_psg,
        p.NAME
HAVING  COUNT(pt.trip_no) > 1;
您最大的问题是,您没有正确加入乘客以通过登机,因为您没有在where中列出加入条件。。内部连接将有助于防止这种情况


由于文本中还明确说明乘客可以有相同的姓名,您还应该在您的分组中包含ID\u psg,因为这是唯一的标识符。

我们不是来为您做作业或测试的。你需要学会如何自己做这件事。祝你好运这不是作业就是测试。是MySQL还是SQL Server?你能解释一下你的尝试吗。你尝试了什么,或者有什么错误吗?如果我忘了添加我自己的查询,我在这个查询中迷失了方向,你可以帮我一些想法吗:D请尝试一下,但问题是如果一个人去莫斯科的旅行不包含关于这个人的信息,而且pass_in_旅行包含了人的信息忘了我看到了这是正确的答案我们非常感谢我用了两次内部连接,但我从来都不明白它是如何工作的