我有以下代码:
$language_id=$this->get_language_id($language_code);
$english_id=$this->get_language_id('en');
$query="SELECT e.label_value, t.user_id, t.votes, t.approved, t.language_value FROM labels e left outer join labels t on e.label_value=t.label_value WHERE e.language=$english_id and t.language=$language_id and (t.approved=1 or t.user_id=$user_id) and e.label_value in (select distinct label_value from labels WHERE language=$english_id order by label_value limit $start_index, 30) order by e.label_value, t.votes";
$query=$this->db->query($query);
$data=$query->result_array();
但我收到以下错误:
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
因此,我需要"select distinct label_value from labels WHERE language=$english_id order by label_value offset $start limit 30"
在另一个查询中执行以下部分。请帮助我,我该如何使用 CodeIgniter 来做到这一点?
更新:
有表labels
(label_value, language_value, language) - PK,
user_id,
timestamp,
approved,
votes
我需要从此表中获取所有查询(例如,它的名称是 t 和 e),标签为 t.label_value、e.label_value(存在)、e.user_id、e.votes、e.timestamp where t.label_value =e.label_value(相同标签)、t.language=45(英语)、e.language=24(我的语言)和(e.user_id=121234 或 e.approved=1)。但我需要所有条目,如果 (t.label_value!=e.label_value) 我需要使用 NULL 字段获取此条目。