Нужно вывести записи, сортируя их по полю position, однако, записи с дефолтным значением position(это 0) должны быть в конце списка. То есть список будет таким(поле position): 1,2,3,4....0,0
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'position' in order clause is ambiguous
The SQL being executed was: SELECT `e`.* FROM `event` `e` LEFT JOIN `event` ON `e`.`event_id` = `event`.`id` ORDER BY `position` = 0, `position` LIMIT 10
сортировать не по полю, я по значению функции от этого поля (полей)
для этого в sql есть замечательный case (помимо ifnull/isnull/nullif и т.п.)
case when position=0 then 100500 else position end
p/s/ и кстати стоит подумать - а не быть ли дефолту null а не 0 - тогда раскроется еще один аспектик ордеринга (в ряде диалектов) как раз про null раньше/позже всех