Просмотр поста

.
Hat-Trick
Добавлено: 22.10.2020 / 18:30
Simba, А если я "создаю" имя поля в подзапросе?) то есть пишу ему алиас. Типа этого поля нет в таблицу.
То есть
(`column1` + `column2`) as `c1`
(`column2` + `column3`) as `c2`
(`column3` + `column1`) as `c3`

и потом надо выбрать максимальное из этих значений, то есть получить не само значение а именно c1/c2/c3 ......

Добавлено: 22.10.2020 / 18:36
Я сделал так, только у меня полей 16

SELECT `x`.*, 
(CASE
    WHEN GREATEST(`x`.`c1`, `x`.`c2`, `x`.`c3`) = `c1` THEN 'c1'
    WHEN GREATEST(`x`.`c1`, `x`.`c2`, `x`.`c3`) = `c2` THEN 'c2'
    WHEN GREATEST(`x`.`c1`, `x`.`c2`, `x`.`c3`) = `c3` THEN 'c3'
END) as `best`
FROM (SELECT `id`, 
    (`column1` + `column2`) AS `c1`, 
    (`column2` + `column3`) AS `c2`, 
    (`column3` + `column1`) AS `c3`
FROM `table`
GROUP BY `id`) as `x` 
LEFT JOIN `table` as `f` ON (`f`.`id` = `x`.`id`)


Добавлено: 22.10.2020 / 18:37
можно ли как-то это сделать проще?