如何在codeigniter中执行此复杂查询?

时间:2015-05-23 13:19:09

标签: php mysql sql codeigniter

$query=mysql_query("SELECT COUNT(*) as totalvotes FROM votes WHERE option_id IN(SELECT id FROM options WHERE ques_id='$poll_id')");

$query=mysql_query("SELECT options.id, options.value, COUNT(*) as votes FROM votes, options WHERE votes.option_id=options.id AND votes.option_id IN(SELECT id FROM options WHERE ques_id='$poll_id') GROUP BY votes.option_id");

1 个答案:

答案 0 :(得分:0)

假设您的查询正确

$query=mysql_query("SELECT COUNT(*) as totalvotes FROM votes WHERE option_id IN(SELECT id FROM options WHERE ques_id='$poll_id')");

<强> ANSWER

        $result = $this->db->select('count(*) AS totalvotes')
                ->from('votes')
                ->where("option_id IN(SELECT id FROM options WHERE ques_id='$poll_id')");
$query=mysql_query("SELECT options.id, options.value, COUNT(*) as votes FROM votes, options WHERE votes.option_id=options.id AND votes.option_id IN(SELECT id FROM options WHERE ques_id='$poll_id') GROUP BY votes.option_id");

<强> ANSWER

        $result = $this->db->select('options.id, options.value, COUNT(*) as votes')
                ->from('votes v')
                ->join('options o', 'v.option_id=o.options.id')
                ->where("v.option_id IN(SELECT id FROM v.options WHERE v.ques_id='$poll_id')")
                ->group_by('v.option_id);