Я занимаюсь анализом данных и ежедневно использую SQL, но мои запросы довольно просты, обычно тянут много данных, которые я впоследствии обрабатываю в excel, где я намного более опытный.Добавление другого столбца на основе разных критериев (SQL-сервер)
На этот раз, хотя я пытаюсь создать некоторые живые графики, которые имеют в качестве входных данных один SQL-запрос. Теперь мне придется создавать сложные таблицы без помощи инструментов excel, с которыми я так знаком.
Проблема заключается в следующем:
Мы Telesales агентов, которые резервировать назначения, отвечая на входящие звонки и для исходящих CALs. Это приведет к появлению потенциальных клиентов, которые могут привести к продаже. Соответствующие таблицы и поля для этой задачи таковы:
Contact Table
Agent
Sales Table
Price
OutboundCallDate
Я хочу знать, для каждого агента телепродаж их соответствующая Общая сумма продаж в одном столбце, и их исходящая стоимость продаж в другом.
Конечный результат должен выглядеть примерно так:
+-------+------------+---------------+ | Agent | TotalSales | OutboundSales | +-------+------------+---------------+ | Tom | 30145 | 0 | | Sally | 16449 | 1000 | | John | 10500 | 300 | | Joe | 50710 | 0 | +-------+------------+---------------+
С ниже SQL я получаю следующий результат:
SELECT contact.agent, SUM(sales.price)
FROM contact, sales
WHERE contact.id = sales.id
GROUP BY contact.agent
+-------+------------+ | Agent | TotalSales | +-------+------------+ | Tom | 30145 | | Sally | 16449 | | John | 10500 | | Joe | 50710 | +-------+------------+
Я хочу добавить третий столбец этого запроса результат, в котором цена суммируется только для записей, в которых поле OutboundCallDate
содержит данные. Что-то вроде (где sales.OutboundCallDate
не является нулевым)
Надеюсь, это достаточно ясно. Дайте мне знать, если это не так.
Не совсем понятно, что вы просите. Вы хотите что-то вроде 'SUM (CASE WHERE sales.OutboundCallDate NOT NULL THEN sales.price ELSE 0 END)'? – Dan
Вы сделали это очень легко! Я просто должен был исправить случай, когда для случая когда. Спасибо, миллион Дэн! – Sergio