Добрый день! У меня такой запрос: ================================================== SELECT aa.id, bb.sortField FROM xxx AS aa JOIN ( SELECT aa.fID AS id, IF(aa.isInt,aa.intData,aa.stringData) AS sortField FROM yyy AS aa ) AS bb ON bb.id=aa.id ORDER BY bb.sortField ================================================== т.е. тут второй столбец в выборке является переменным. Но в реальном запросе, все строки имеют этот столбец только одного типа (т.е. в результате реального запроса, в зависимости от переданного параметра sortField для всех строк либо intData, либо stringData но сортировка в таком случае как сортировка строк. Пробовал вместо конструкции IF(aa.isInt,aa.intData,aa.stringData) написать aa.intData тогда всё сортирует верно.Я так понимаю проблема в том, что MySQL не знает какой тип у данного столбца, потому что он может быть разным для разных строк, но можно ли ему как то принудительно указать его?
|