2016-01-29 133 views
-3

的我有具有5列MySQL表A-> B和B-> A值,只選擇A-> B組值

的linkID,orinodeno,orinodeno,ternodeno一個表,terifindex

linkid是自動增量的。 orinodeo,oriifindex是一個組合值和ternodeno,terifindex其他組合(orinodeno,oriifindex是始發值和ternodeno,terifindex終止值,即在兩者之間存在鏈接,如連接鏈接之間的映射兩個點),所以我的表包含(即a是orinodeno,oriifindex和b的組合是ternodeno,terifindex的組合)和b-> a值。所以我必須只選擇a->b的一組值,而不是b->a。還發送我的表格圖像。 My Table

+0

不清楚你要求的是什麼..? –

回答

0

請明確你的要求。如果無法用文字解釋,請給出示例輸入和您的預期輸出。

從您提供的表圖像和描述的鏈接,它看起來像你期望以下:

數據在當前表:

------------------------------------------------------------------ 
|linkid | orinodenumber | oriifindex | ternodenumber | terifindex| 
------------------------------------------------------------------ 
|305 | 261   | 2   | 309   | 2   | 
|306 | 309   | 2   | 261   | 2   | 
|307 | 257   | 10   | 310   | 10  | 
|308 | 310   | 10   | 257   | 10  | 
|309 | 257   | 11   | 310   | 11  | 
------------------------------------------------------------------ 

預期輸出:

------------------------------------------------------------------ 
|linkid | orinodenumber | oriifindex | ternodenumber | terifindex| 
------------------------------------------------------------------ 
|305 | 261   | 2   | 309   | 2   | 
|307 | 257   | 10   | 310   | 10  | 
------------------------------------------------------------------ 

如果這是你的情況,下面的查詢可能會幫助你(假設表名爲link_table):

SELECT * 
FROM link_table o 
WHERE EXISTS (SELECT linkid 
       FROM link_table i 
       WHERE o.orinodenumber = i.ternodenumber 
       AND o.oriifindex = i.terifindex 
       AND o.linkid < i.linkid); 
相關問題