我有一个使用php活动记录的codeigniter项目。当我运行此查询时,有3个表(用户,拳和作业)
$records = Punches::find_by_sql("Select * from jobs,users,punches where jobs.job_id = $job_id AND punches.job_id = $job_id AND punches.id= users.id AND NOT ISNULL(end_time) ORDER BY last_name,id ");
查询失败。如果我在外面接受订单就可以了。请注意我已经使用了我能想到的ORDER BY的每个变体。
答案 0 :(得分:2)
由于您要连接多个表,因此当列不唯一时,您需要指定要使用的表列。在您的情况下,您需要指定id列来自哪个表。
答案 1 :(得分:1)
具体针对id
中的order by id
,因为users
和punches
表也有ID
$records = Punches::find_by_sql("... ORDER BY last_name, TABLENAME.id");
答案 2 :(得分:0)
感谢无论谁建议我在phpmyadmin中运行它...这有助于快速发现错误。我需要tablename.id