我想查詢一個表,我很難搞清楚查詢。查詢一個多對多的表
這是我的表(簡體):
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