2013-02-17 58 views
-1

我有两个关系入门基础条件

Author (authorId, authorName, country) 

PrizeWinner (mAuthId, fAuthId, year) 

其中的元组的列表:

fk(mAuthId) -> authorId of Author 
fk(fAuthId) -> authorId of Author 

获得者表包含谁赢得了最佳作者奖对给定雌雄配对的Id年。

我们需要列出所有获奖作者对,当雄(mAuthID)和女作家(fAuthId)是来自同一个国家

任何帮助或线索,在此将得到高度赞赏。 谢谢。

回答

1
SELECT male.*, female.* 
FROM 
    PrizeWinner p 
     INNER JOIN Author male ON male.authorId = p.mAuthId 
     INNER JOIN Author female ON female.authorId = p.fmAuthId 
WHERE 
    male.country = female.country 

关于你的评论,试试这个:

SELECT DISTINCT all.authorName, all.country 
FROM 
    PrizeWinner p 
     INNER JOIN Author male ON male.authorId = p.mAuthId 
     INNER JOIN Author female ON female.authorId = p.fmAuthId 
     INNER JOIN Author all ON all.authorId = male.authorId OR all.authorId = female.authorId 
WHERE 
    male.country = female.country 
+0

@DSJ,我不知道你的建议是否匹配。让我们看看OP说的话。 – Sebas 2013-02-17 19:01:00

+0

谢谢,我认为这会让我结对,我只是想要一份作者名单和他们的国家的输出。 (AuthorName1,美国),(Auth2,美国)等 – 2013-02-18 06:28:01

+0

看看你的问题:你问作者配对... – Sebas 2013-02-18 12:03:04