2013-09-27 16 views
0

我有一个像加入同一个表来获取信息

Name  Spouse 
--------------- 

John  Smitha 

Bob  Neetha 

Neetha Bob 

Mona  Jack 

Smitha John 

Jack  Mona 

一个表,我想效果如下使用在MySQL连接。

Name  Spouse 
--------------- 

John  Smitha 

Bob  Neetha 

Mona  Jack 

(即夫妻双方应只选择一次)

+0

没有给你确切的查询,Google“SQL别名自我加入” –

+1

你有数据设置的方式约翰和Smitha两人都有配偶关系,你需要另一个领域来表明主人是谁。 – James

回答

0

假设你有一个值isPrimary场。

您可以通过以下查询轻松实现此目的。

SELECT P.NAME, S.NAME As SpouseName 
FROM PEOPLE P 
LEFT JOIN PEOPLE S ON P.Spouse = S.Spouse -- You should have a PK/FK relasionship here (SouseId) and not join on a name string 
WHERE P.IsPrimary = 1 
0

办法那样做

SELECT `Name`, `Spouse` 
    FROM Table1 
    WHERE `Name` <= `Spouse` 

demo