2013-04-06 160 views
0

我有兩個表,imagesarticleImages。在這兩個表中都是i_id列,現在我需要MySQL答案返回表中的圖片表,這些表也存在於articleImages表中。Smysql顯示第一個表中的第一個表的結果

我試圖像

SELECT DISTINCT name FROM images,ArticleImages WHERE images.i_id!=ArticleImages.i_id 

,但其回報什麼,沒有DISTINCT元素返回總廢話

+0

請張貼樣本數據和期望的結果集。 – Kermit 2013-04-06 23:32:53

回答

0

嘗試使用

NOT IN (...) 

SELECT name 
FROM images 
WHERE images.i_id NOT IN (SELECT i_id FROM ArticleImages) 

MySQL Doco

+0

請擴大您的答案。 – Kermit 2013-04-06 23:31:39

0

基本上你可以加入這兩個表使用LEFT JOINLEFT JOIN所做的是返回左側表中的所有記錄,它是images它是否與右側表中的匹配記錄是ArticleImages。所有不匹配的記錄將在表ArticleImages上的列上具有NULL值,並且此記錄是您想要過濾的記錄。

SELECT a.* 
FROM images a 
     LEFT JOIN ArticleImages b 
      ON a.i_id = b.i_id 
WHERE b.i_id IS NULL 

爲了進一步獲得更多的知識有關聯接,請訪問以下鏈接:

相關問題