В лимите подзапросы и выражения запрещены (и как не странно это мускул держит)
Юнион как ты правильно заметил туда не впихнёшь, он будет после ордера.
И самое смешное, что в ордере по идее подзапросы тоже запрещёны, но разрабы mysql на это положили, и они там работают. Но это значит , что доков ты по этой теме не увидишь, их как-бэ нет, подзапросов в ордере , а значит и доков нет
Соответственно хрен поймёшь как база обрабатывает подзапрос, нельзя сказать, что она его совсем игнорирует, т.к. если таблица не пустая то он обрабатывается.
Тоесть что-то она проверяет, а вот с пустой таблицей я не смог заставить работать
more than 1 row
Такое ощущение, что в этом случае, базе плевать на то, что в подзапросе и она выкидывает Empty set
Моё мнение что не выйдет, но в любом случае можешь поразвлекаться на локалке и посмотреть, т.к. не исключаю, что решение может и найтись
==================
add
Сообщение от
cr0w
Насколько я понимаю, если в параметр ORDER BY мы помещаем выражение, то нужно чтоб оно возвращало именно имя колонки, по которой должна происходить сортировка, а не ее номер.
Кстати, если сможешь заставить базу воспринимать то, что она возвращает из подзапроса в ордере как
ИМЯ КОЛОНКИ, дай мне знать , мы об эту тему с некоторыми товарищами уже весь мозг вывернули
Возвращает она
строку, и никак не удаётся убедить её в том, что это колонка и по ней нужна сортировка.