Oracle SQL: фиктивная переменная из 2 наборов данных

У меня есть две таблицы данных. У них обоих есть столбец идентификатора сотрудника и столбец квартала продаж, а также множество других столбцов. Первый, который плохо называется «Реестр», имеет одну строку на сотрудника за квартал продаж. Вторая имеет несколько строк для каждого сотрудника за квартал, причем каждая строка представляет собой тип совершенных продаж, столбец с именем «тип продаж» и эта вторая таблица с названием «Ежеквартальные продажи». По сути, мне нужно вернуть несколько столбцов из первой таблицы, но мне также нужна фиктивная переменная, указывающая, сделал ли сотрудник тип продажи «холодный звонок».

Я пробовал оператор if, но не работал.

select employeeid, quarter, variablea, variableb, ....., 
if saletype = 'cold call' then 1 else 0 end as ColdCall
from Roster r
left join quarterly sales q
on r.employeeid = q.employeeid
and r.quarter = q.quarter
where blah blah blah conditions;

Я уверен, что мой подход неверен. Я приветствую любую помощь.

Вы можете заменить «если» во второй строке на «случай, когда» и повторить попытку. Если это не поможет, я думаю, вы должны предоставить некоторые образцы данных, ожидаемый результат и ваш реальный запрос.

Jonas Metzler 06.05.2022 18:14

Спасибо @JonasMetzler! Это помогло. Сначала я пробовал это перед оператором if, но мои соединения были неправильными. Я исправил их, и, похоже, это сработало. Спасибо.

dbwhite64 06.05.2022 18:25

Спасибо @dbwhite64 за отзыв. Просто добавил это как ответ, чтобы можно было закрыть этот вопрос. Пожалуйста, примите это и хороших выходных.

Jonas Metzler 06.05.2022 18:31

Ты тоже, Джонас!

dbwhite64 06.05.2022 18:54
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
4
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если предложения невозможны таким образом, вам нужен случай, когда вместо этого:

...CASE WHEN saletype = 'cold call' THEN 1 ELSE 0 END AS ColdCall...

Другие вопросы по теме