我想查询一个表,我很难搞清楚查询。查询一个多对多的表
这是我的表(简体):
Member
ID | NAME
1 | Frans
2 | Eric
3 | Stephan
4 | Kris
Evenement
ID | NAME
1 | Picknic
2 | Party
3 | Movie
Evenement
ID_EVENEMENT | ID_MEMBER
1 | Kris
1 | Stephan
1 | Eric
2 | Eric
2 | Frans
3 | Frans
3 | Stephan
好吧,我想要做的查询是这样的:
我想
select
member_evenement.ID_MEMBER and member_evenement.ID_EVENEMENT
from
member_evenement
where
member.ID on member_evenement.ID_MEMBER
where
member_evenement.ID_MEMBER does not exist
for each member_evenement.ID_EVENEMENT
分开。
我使用SQL Server 2008 R2
我希望我解释我的问题不够好。
如果这是我的基本表
Member
ID | NAME
1 | Frans
2 | Eric
3 | Stephan
4 | Kris
Evenement
ID | NAME
1 | Picknic
2 | Party
3 | Movie
Member_Evenement
ID_EVENEMENT | ID_MEMBER
1 | Kris
1 | Stephan
1 | Eric
2 | Eric
2 | Frans
3 | Frans
3 | Stephan
然后我查询的结果应该是这样的:
Evenement
ID_EVENEMENT | ID_MEMBER | MEMBER_NAME | EVENEMENT_NAME
1 | 1 | Frans | Picknic
2 | 3 | Stephan | Party
2 | 4 | Kris | Party
3 | 2 | Eric | Movie
3 | 4 | Kris | Movie
你可以发布一些你尝试过的SQL吗?这可能会帮助您开始使用连接:http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html,并且我无法理解您想要的内容。你是否想要Member_evenement中不存在的成员的所有记录?因此,您只需要成员到member_evenement的左连接,其中Member_evenement中的ID_Member为null。 – xQbert
evenement表中有一个名为ID_Member的字段,其中包含STRING数据,而不是1,2,3,它是成员的ID?好吧,我认为你所追求的是所有不属于事件一部分的成员。所以Frans不在会员公寓1,所以Frans露面。但Member_Evenement.ID_Member中的数据是错误的(我希望) – xQbert
是的,修正了这个问题,只是刷新:p – NomenNescio