Чудеса MySQL
От: Somescout  
Дата: 28.07.15 02:54
Оценка:
Здравствуйте.

Чёрт когда-то дёрнул связаться с MySQL (5.5.41-MariaDB), теперь пожинаю последствия. Есть такой запрос, он был сгенерирован провайдером MySQL EF, и упрощён мной для лучшей демонстрации:
select
  k.c1 as c2,
  k.c2 as c1
  from (
    select users.user_id as c1,
    1 as c2
    from users
  ) as k
  order by k.c1 desc

Колонки во внешнем селекте называются также как и во внутреннем, в order by явно указана колонка из внутреннего селекта. Тем не менее сортировка происходит по внешнему, т.е. по c1 = k.c2 = 1.
MS SQL ведёт себя ожидаемо (выводит user_id в обратном порядке), а тут какая-то очередная причуда.

Есть этому какое-то объяснение (с точки зрения MySQL), или это просто очередной баг мускула?

UPD. Вопрос снимается: если колонки переименовать то всё работает как надо, так что однозначно баг MariaDB.
ARI ARI ARI... Arrivederci!
Отредактировано 28.07.2015 16:39 Somescout . Предыдущая версия . Еще …
Отредактировано 28.07.2015 2:57 Somescout . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.