2013-10-10 30 views
0

我有3個表,如表a,表b和表c。我遇到了一個問題,那就是我有一個子字符串,比如說XYZ,出現在table-a的第1列中,而在表中,我有一些XYZ字符串作爲列中的一個子字符串。我想從這兩個表中獲取所有這些行,table-a以及table-b,其中我有一個來自table-c ='123'的列(例如)一列作爲另一列的子串

以下是我的查詢:

SELECT DISTINCT a.column-1, b.column-2 
FROM table-a a, table-b b, table-c c 
WHERE c.column='123' AND a.column-1=b.column-2; 

使用此查詢,它將打印表b中的行,其中只有XYZ存在但不包含%XYZ%。

預先感謝通力合作..

+0

顯然沒有表B中包含該行的「%XYZ% '有一個列2,它匹配a.column-1中的一個值。你說''有表C''中的一列,但你的查詢顯示C和其他表之間沒有任何關聯。你現在基本上有一個交叉連接。請向我們提供他們關係的詳細信息。具有真實姓名的實際表結構,甚至可能是SQLFiddle會有所幫助。 – GolezTrol

回答

4

我認爲你正在尋找的條件是一樣的東西:

AND b.column-2 LIKE CONCAT('%', a.column-1, '%') 
+0

謝謝。這正是我需要的...... – user2818537

相關問題