2013-09-24 26 views
0

我有兩張表:專輯和照片。如何從兩個表中選擇兩個項目,數量取決於一個項目?

使用用戶名搜索時,我想要獲取所有Album.title,並且每個專輯只有一個Photo.url作爲唱片集封面(無論哪張照片無關緊要)。

但是,如果我做的:

SELECT Album.title,Photo.url FROM Photo  
INNER JOIN Contain ON (Photo.picid = Contain.picid) 
INNER JOIN Album ON (Album.albumid = Contain.albumid) 
WHERE username ='david' 

(含僅僅是一個關係表,保持其相冊中的照片屬於用戶名是專輯表的屬性)

這會將所有照片。網址,但我只想要一個..謝謝!

+0

您將需要申請組按照album.title分組並使用photo.url的聚合函數 – andrewb

回答

0

嘗試與此查詢:

SELECT Album.title,(SELECT Photo.url FROM Photo 
        WHERE Photo.picid = Contain.picid LIMIT 1) 
FROM Contain INNER JOIN Album ON (Album.albumid = Contain.albumid) 
WHERE username ='david' 
+0

仍然返回所有照片... – Arch1tect

+0

對於給定的標題,將有一個由LIMIT 1完成的照片網址...您可以提供一些數據嗎? –

0

,你可以限制1添加到查詢,

SELECT Album.title,Photo.url FROM Photo LIMIT 1  
INNER JOIN Contain ON (Photo.picid = Contain.picid) 
INNER JOIN Album ON (Album.albumid = Contain.albumid) 
WHERE username ='david' 
+0

第2行的語法錯誤 – Arch1tect

0

我猜你需要通過

SELECT Album.title,Photo.url FROM Photo  
INNER JOIN Contain ON (Photo.picid = Contain.picid) 
INNER JOIN Album ON (Album.albumid = Contain.albumid) 
WHERE username ='david' 
Group by Album.title,Photo.url 
相關問題