2016-02-24 18 views
0

我想從database.I顯示圖片鏈接的兩個表中選擇不同的行有兩個表 gallery_photos 如何從與外鍵

gallery_category enter image description here

我想表明與CATEGORY_NAME任何photos_filename。 photo_category是CATEGORY_ID的外鍵

MySQL查詢我寫

SELECT distinct a.category_name 
     ,b.photo_filename 
FROM gallery_category a 
inner join gallery_photos b on (a.category_id=b.photo_category) 

請幫我做...

我想選擇正是這樣

albums/1456226111.jpg interior 
albums/1456226239.jpg graphics 
albums/1456226339.jpg random 
albums/1456226478.jpg goods 
+0

專輯/ 1456226122.jpg 專輯/ 1456226153.jpg 專輯/ 1456226168.jpg從內部找到該圖片belogs按組分組它。那麼爲什麼你寫圖形,隨機和貨物? –

+0

對不起的代碼編輯 –

回答

2

您可以通過

SELECT a.category_name,b.photo_filename 
FROM gallery_category a JOIN gallery_photos b 
ON a.category_id=b.photo_category 
GROUP BY a.category_name 
+0

Thankyou vipin.its工作.. –

+0

@SibyXavier它是我的榮幸。 –

+1

你確定它的工作? b.photo_filename列不包含在聚合函數或GROUP BY子句中 – LKW

1

使用左連接保留左表中的所有行。

SELECT 
    b.photo_filename, 
    a.category_name 
FROM 
    gallery_category a LEFT join gallery_photos b ON (a.category_id=b.photo_category) 

檢查了這一點!

What's the difference between INNER JOIN, LEFT JOIN, RIGHT JOIN and FULL JOIN?

+1

我想只顯示每個類別的一個圖像 –

+1

它顯示所有類別的所有圖像,但他只希望每個類別只有一個圖像我對嗎? @SibyXavier –

+0

但如果該類別中有多個圖像會怎麼樣?選擇什麼標準? – LKW