SQL:SELECT其中来自不同表的2列是相同的

时间:2016-10-03 01:09:02

标签: mysql sql sqlite join subquery

我需要使用包含(前)总统信息的数据库。我需要检查是否有一些拥有相同爱好并且在同一年结婚的总统。

所以总统在pres_hob表中可以有多种爱好。结婚年份在mar_year专栏的pres_mar表中。

我已尝试INNER JOIN SQLite中的表,其中hobby和mar_year相等,除了pres_name。这种方式JOIN不起作用,这是有道理的。我对此有点新......

感谢任何帮助

enter image description here

2 个答案:

答案 0 :(得分:1)

这是一个包含多个file的选项:

joins

根据您的预期结果,使用select p1.pres_name, p2.pres_name, ph.hobby from pres_mar p1 join pres_mar p2 on p1.pres_name != p2.pres_name and p1.mar_year = p2.mar_year join pres_hob ph on p1.pres_name = ph.pres_name join pres_hob ph2 on p2.pres_name = ph2.pres_name and ph.hobby = ph2.hobby 的其他选项:

exists

答案 1 :(得分:0)

这听起来像是一个糟糕的数据库架构,我假设它用于学习目的,无论如何,你可以做类似的事情

Collections.sort(list);

这将为2016年结婚年度的每位总统带来1条记录,以及网球的爱好。