2016-09-17 32 views
0

enter image description here從數據庫

我需要選擇「名稱」中選擇不同行的相同數據屬性必須以相同的值「尋求」屬性。 是一種像一個媒人的概念,我需要選擇「name」屬性=「尋求」在同一個表 屬性,這樣效果會

name  | seek 
HEADPHONE | KETTLE 
KETTLE | HEADPHONE 

任何人都可以給我如何做到這一點的解決方案。我目前正在做最後一年的項目。謝謝

+1

而不是張貼圖像後文本格式的數據 –

+0

http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-提問/ 285557#285557 –

回答

0
SELECT t1.NAME, 
     t1.SEEK 
FROM yourTable t1 
INNER JOIN yourTable t2 
    ON t1.NAME = t2.SEEK AND 
     t1.SEEK = t2.NAME 

如果您要報案只有一個記錄每個SEEK/NAME對,然後你可以嘗試:

SELECT DISTINCT LEAST(t1.NAME, t1.SEEK), 
       GREATEST(t1.NAME, t1.SEEK) 
FROM yourTable t1 
INNER JOIN yourTable t2 
    ON t1.NAME = t2.SEEK AND 
     t1.SEEK = t2.NAME 
+0

爲什麼我得到的錯誤組功能在這裏是不允許的。我只需要一個記錄爲每個尋求/名稱 – FYP

+0

@FYP我更新了我的答案,只給你一個記錄。 –

+0

瞭解它謝謝 – FYP

1

您需要執行SELF JOIN

SELECT a.NAME, 
     a.seek 
FROM yourtable a 
     JOIN yourtable b 
     ON a.NAME = b.seek 
      AND b.NAME = a.seek 

另一種方法是使用EXISTS

SELECT a.NAME, 
     a.seek 
FROM yourtable a 
WHERE EXISTS (SELECT 1 
       FROM yourtable b 
       WHERE a.NAME = b.seek 
         AND b.NAME = a.seek)