【发布时间】:2014-06-07 19:24:08
【问题描述】:
我在一个 SQL 数据库的两个表上有一个 M2M 关系,如下:
Players
-------
Name
ID
Teams
------
Name
ID
PlayersTeams
------
PlayerID
TeamID
一个团队由 1 个或多个玩家组成。
我想查询一个给定其球员 ID 的球队,并只返回包含正是那些球员的球队,不多也不少。因此,查询有球员 (1,2,3) 的球队只会返回有球员 1,2,3 的球队,而不是有球员 1,2,3,4 的球队。
这可以在单个查询中实现吗?
我有一个 sqlfiddle 我正在尝试在这里解决它:http://sqlfiddle.com/#!2/27799/8
在该示例中,我希望能够通过使用球员 ID 1 和 2 进行查询来选择球队“john and mick”...
更新 在这个 sqlfiddle http://sqlfiddle.com/#!2/27799/69 我可以选择团队 ID 2(“john and mick”),但它也可以选择团队 ID 4(“john, mick and trev”)。需要将其过滤到 JUST 2。
【问题讨论】:
-
您使用的是哪个 DBMS?后格雷斯?甲骨文?
-
@a_horse_with_no_name postgres
标签: sql postgresql m2m