Bu doğru bir yaklaşım ise oldukça emin değilim, bu benim durum:
Şu anda 15 galerileri seçmek için çalışıyor ve ardından id aracılığıyla kullanıcının tablo ile katılmak bıraktı ama ben de hiç ancak ben sol join (resim) sınırı olamaz bildiklerini her galeriden biri rastgele resim seçmek istiyorum değilim sadece bir alt sorgu yapmadan bir rasgele resim pick up.
İşte ben bugüne kadar var ama onun olması gerektiği gibi çalışmıyor budur:
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
Ben de Active Record ile yapmaya çalıştım ama ben iki sol katılır yaptıktan sonra saplanıp, burada bir alt sorgu almak yapmak mümkün:
$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);
Ben onun dağınık değil umut ama ben gerçekten tüm sql sorgular tarafından kafa karıştırıcı başlıyorum ..