#sql #oracle
#sql #Oracle
Вопрос:
Итак, у меня есть таблица с 600 тысячами строк. Мы извлекаем данные из oracle и переносим их в MSSQL (поскольку в oracle у нас есть только права на чтение).
В настоящее время это простой запрос
select Name, address,country from Table a
Я ищу способ добавить столбец в этот оператор select, назвав его регионом, чтобы классифицировать страну.
Если страна в Индии, Китае и Шри-Ланке, то APAC. Если страна в США, BRA или CAN, то АМЕР.
Мои знания в SQL находятся на начальном уровне, поэтому я предполагаю, что это невозможно, и мне может потребоваться использовать поддержку python для выполнения этого, но я подумал о том, чтобы спросить, прежде чем принимать решение.
Ответ №1:
Вы бы использовали case
выражение:
select a.*,
(case when country in ('India', 'China', 'Sri Lanka')
then 'APAC'
when country in ('USA', 'BRA', 'CAN')
then 'AMER'
end) as region
from a;
Однако я бы рекомендовал, чтобы это region
был столбец в справочной таблице, поэтому он согласован везде, где используется.