2012-10-16 35 views
0

任何人都可以告訴我如何連接這兩個表。我試圖自己做..但只是浪費了一段時間,我知道這很容易,但我無法理解它。表是從我以前question非常簡單的mysql加入

Table Articles: 

    ID  Content 
    1   bla 
    2   blah 
    3   etc. 
    4   whatever 

Table Similar: 

    ID  Similar_ID 
    3   1 
    3   2 
    4   1 
    4   2 
    4   3 
+0

將其連接^ h流?你試圖產生什麼結果? –

回答

0
select a.ID,a.Content,s.Similar_ID from 
Articles a inner join Similar s 
on a.ID=s.ID 
+1

請添加解釋,而不僅僅是代碼。 –

+1

它只是根據ID列加入2個表並獲取值。 – AnandPhadke

+0

實質上,您正在執行內部聯接,從表項中選擇行,並從類似項中選擇與文章中的主鍵等效的外鍵。你正在做一個INNER連接,這意味着如果外鍵爲空,它將不會返回任何內容。 –

0

您要瀏覽的Similar表, 「轉換」 的標識(例如3)Content(例如, 「嗒嗒」)。因此: SELECT * FROM Similar;

將列出所有相似之處。因爲我們有兩個Ids轉換(東西類似於別的),我們需要兩個獨立的加入與同桌Articles,我們將他們的別名爲「A」和「B」:

SELECT a.Content, b.Content 
    FROM Similar 
    JOIN Articles AS a  ON (Similar.ID = a.ID) 
    JOIN Articles AS b  ON (Similar.Similar_ID = b.ID) 
; 

第一個JOIN「解碼」類似的ID字段,第二個解碼「Similar_ID」。

所以

3  1 

現在變成

Etc. Blah 

或者你可以寫:

SELECT CONCAT(a.Content, ' is similar to ', b.Content) 
FROM... (same query as above) 

,並得到

Etc. is similar to Blah 
Blah is similar to whatever 
...