Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не могу написать запрос в postgreSQL

дима рыжков Ученик (142), на голосовании 2 года назад
Запросом с CASE-выражением замени NULL на среднее значение (округлённое до целого) в каждой группе units. Назови выборку weight_info.

Чтобы выполнить задание, понадобится ответ предыдущей задачи:

"72" "%"

"1" "кг"

"1" "л"

"805" "мл"

"402" "г"
Также есть подсказка-
В конструкции CASE после оператора WHEN составь условие, которое проверит поле weight на пропуски в группах units из предыдущего задания. После оператора THEN укажи среднее значение, которым нужно подменить пропуски. Строки со средним значением возьми из решения предыдущей задачи в условии.

Мой запрос выглядит вот так:
SELECT

name,

CASE WHEN weight IS NULL THEN '72'

ELSE weight END AS weight_info

FROM

products;

Выдает ошибку-
Отсутствует условие для единицы измерения в %
Голосование за лучший ответ
Александр Искусственный Интеллект (301635) 2 года назад
попробуй weight_info в кавычки заключить
хотя без разницы... запрос вроде как правильный...
может не в нём ошибка возникает?
дима рыжковУченик (142) 2 года назад
я знаю что правильно написал, но яндекс тренажер ждет другой ответ , я хз что ему не нравится
дима рыжковУченик (142) 2 года назад
SELECT name,

CASE

WHEN weight IS NULL AND units ='%' THEN '72'

WHEN weight IS NULL AND units ='кг' THEN '1'

WHEN weight IS NULL AND units ='л' THEN '1'

WHEN weight IS NULL AND units = 'мл' THEN '805'

WHEN weight IS NULL AND units = 'г' THEN '402'

ELSE weight END AS weight_info

FROM

products;
Смог решить
Айнур Фаткуллин Ученик (103) 2 года назад
Получилось решить вопрос?
Тоже с этим столкнулся
дима рыжковУченик (142) 2 года назад
нет, подтянул друзей разрабов и QA все твердят что все правильно , но тренажер ждет чутка другого ответа от меня, вот думаем какого
дима рыжковУченик (142) 2 года назад
SELECT name,

CASE

WHEN weight IS NULL AND units ='%' THEN '72'

WHEN weight IS NULL AND units ='кг' THEN '1'

WHEN weight IS NULL AND units ='л' THEN '1'

WHEN weight IS NULL AND units = 'мл' THEN '805'

WHEN weight IS NULL AND units = 'г' THEN '402'

ELSE weight END AS weight_info

FROM

products;

Лови решение) мы доперли общим разумом)
Айнур Фаткуллин Ученик (103) дима рыжков, Спасибо)
Роман Виноградов Ученик (125) 2 года назад
SELECT
name,
CASE
WHEN weight IS NULL AND units = '%' THEN '72'
WHEN weight IS NULL AND units ='кг' THEN '1'
WHEN weight IS NULL AND units = 'л' THEN '1'
WHEN weight IS NULL AND units = 'мл' THEN '805'
WHEN weight IS NULL AND units = 'г' THEN '402'
ELSE weight END AS weight_info
FROM
products;
Похожие вопросы