我不太清楚,如果這是正確的做法,這是我的情況:MySQL的 - 子查詢,並加入
目前,我想要選擇15個畫廊,然後離開與用戶表連接它通過編號,但我也想從每個畫廊中選擇一張隨機圖片,但是我知道你不能限制左連接(圖片)只拾取一張隨機圖片而不做子查詢。
這是我走到這一步,但它不是,它應該工作:
SELECT galleries.id, galleries.name, users.username, pictures.url
FROM galleries
LEFT JOIN users ON users.id = galleries.user_id
LEFT JOIN pictures ON (
SELECT pictures.url
FROM pictures
WHERE pictures.gallery_id = galleries.id
ORDER BY RAND()
LIMIT 1)
WHERE active = 1
ORDER BY RAND()
LIMIT 15
我也試圖與活動記錄這樣做,但我得到了這樣兩個左聯接後卡住了,有沒有可能辦得到這裏的子查詢:
$this->db->select('galleries.id, galleries.name, users.id as user_id, users.username');
$this->db->from('galleries');
$this->db->join('users', 'users.id = galleries.user_id','left');
$this->db->join('pictures','pictures.gallery_id = galleries.id AND','left');
$this->db->where('active',1);
我希望它不要混亂,但我真的開始通過所有的SQL查詢來獲得混亂..
編輯: Active Record with CodeIgniter
+1有趣的引用的活動記錄...你可以請編輯包括一個鏈接? – 2009-06-28 18:25:29