तालिका रेटिंग . से डेटा प्राप्त करें , लेफ्ट जॉइन का उपयोग करके औसत के लिए चयन करें।
join() फ़ंक्शन of Codeigniter आपको तालिका के नाम के बजाय एक चुनिंदा भाग लिखने की अनुमति देता है, लेकिन आपको इसे कोष्ठक में रखना होगा:
$this->db->select('t1.*, t2.avg_rating, t3.*');
$this->db->from('ratings t1');
$this->db->join('
(select product_id, avg(rating) as avg_rating
from ratings
group by product_id) t2','t2.product_id=t1.product_id','left'
);
$this->db->join('users t3','t3.id=t1.user_id','left');
$this->group_by('t1.userid')
$this->db->get()->result();
उत्पन्न करता है:
SELECT t1.*, t2.avg_rating, t3.*
FROM ratings t1
left join
(select product_id, avg(rating) as avg_rating from ratings group by product_id) t2
on t2.product_id=t1.product_id
left join users t3
on t1.user_id = t3.id
group by t1.user_id
और आउटपुट जैसा आप उम्मीद करते हैं।