2013-01-15 87 views
2

我有兩個表格用戶和專輯。在用戶表中有user_id主鍵。在其他表相冊中有多個行,其中有user_id,因爲每次用戶上傳新相冊時,都會以user_id作爲外鍵上載。我只想選擇user_id與其他表(專輯)一起忽略其他結果集。從兩個表中選擇一行取決於主鍵(Mysql)?

我該如何做到這一點?

+0

表格相冊中的哪些列表示記錄的順序?有沒有專輯上傳的日期? –

+0

no date just album_id –

+0

您的相冊表中的列是什麼? –

回答

1
SELECT a.*, b.* 
FROM users a 
     INNER JOIN album b 
      ON a.user_ID = b.user_ID 
     INNER JOIN 
     (
      SELECT user_ID, MAX(photo_id) max_rec 
      FROM album 
      GROUP BY user_ID 
     ) c ON b.user_ID = c.user_ID AND 
       b.photo_id = c.max_rec 
1
SELECT album.* FROM album LEFT JOIN users ON user.id = album.id WHERE user.id = SOMEIDHERE 

我相信這會起作用,你不給我一大堆信息來處理。

0
SELECT * 
FROM ( SELECT u.*, a.* 
     FROM users AS u 
     INNER JOIN album AS a 
     ON u.user_ID = a.user_ID 
     ORDER BY a.created DESC) AS h 
GROUP BY user_ID 

ORDER BY b.created DESC - >ORDER BY任何一行你希望。在這種情況下,選擇最新的一個。