Вложенные условия случая ⇐ Python

Программы на Python
Anonymous
Вложенные условия случая

Сообщение Anonymous »

В Python есть вложенные операторы условий, которые я пытаюсь выяснить.
Ввод левой таблицы:
Изображение

Правая таблица ввода :
Изображение
Окончательный результат:
Изображение

Цель состоит в том, чтобы создать столбец «new_value» в конечном выводе на основе вложенных условий ниже:

Код: Выделить всё

CASE WHEN value IS NULL AND left_table.country IN (SELECT DISTINCT country from right_table)
THEN CASE
WHEN left_class = 'class1' THEN
CASE WHEN (SELECT value from right_table n WHERE  (n.right_class = 'class2') AND n.country= right_table.country AND n.year = left_table.year) IS NOT NULL
THEN (SELECT SUM(value)*2 from right_table n WHERE  (n.right_class = 'class1' OR  n.right_class = 'class2') AND n.country= left_table.country AND n.year = left_table.year)
ELSE (SELECT SUM(value)*2 from right_table n WHERE  (n.right_class = 'class1' OR  n.right_class = 'class3') AND n.country= left_table.country AND n.year = left_table.year) END
ELSE NULL END
ELSE value END AS new_value
Вышеупомянутое в sql, но мне нужно в Python

Подробнее здесь: https://stackoverflow.com/questions/790 ... conditions

Вернуться в «Python»