MySQL:如何合并三个表

标签 mysql join

我有一个包含人员的表(personid,name),另一个包含营地的表(campid,title)和第三个包含营地参与的表(id,personid,campid)。

现在,对于给定的营地,我需要一份包含当前营地所有参与者的所有其他营地的列表。

但我不知道如何连接这些表。我看过很多其他例子,但我似乎无法真正从这些例子中获得任何灵感......

最佳答案

这应该有效:

SELECT *
FROM PERSONS AS D INNER JOIN CAMP_PARTICIPATIONS AS E ON D.PERSONID = E.PERSONID
                  INNER JOIN CAMPS AS F ON F.CAMPID = E.CAMPID
WHERE F.CAMPID <> [your_camp]  AND A.PERSONID IN (

SELECT A.PERSONID
FROM PERSONS AS A INNER JOIN CAMP_PARTICIPATIONS AS B ON A.PERSONID = B.PERSONID
                  INNER JOIN CAMPS AS C ON C.CAMPID = B.CAMPID
WHERE C.CAMPID = [your_camp] )

关于MySQL:如何合并三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30641692/

相关文章:

php - 似乎无法让 Zend Framework 与两个 mysql 数据库一起工作

mysql - 使用 MySQL 提取并返回不同的字母值

mysql - 多个表的 View 使网站变慢

mysql - 如何在 SQL 查询中执行此操作?

sql - 如何在 MySQL 中执行 FULL OUTER JOIN?

php - CakePHP 中长时间运行 shell 的数据库连接问题

java - 使用java将Mysql数据库转为Nosql hbase

MySQL:SELECT 重复输入错误...INSERT INTO 带有 UNIQUE 约束

php - 将 JOIN SQL 查询序列化为 JSON 的最佳方法

mysql - 检查员工电子邮件中是否包含他的姓名 - 不区分大小写