Как найти потерянных клиентов (отток клиентов)
: Как найти потерянных клиентов (отток клиентов)

-- Как найти клиентов, сделавших заказ в предыдущий период, но не сделавших в текущем периоде
-- Еще больше примеров по изучению Transact-SQL на сайте /* Запросы к SQL Server на примерах */ http://tsqlmag.blogspot.ru/
-- Пример: клиенты, сделавшие заказ в 2006 году, но не сделавшие в 2007
USE AdventureWorks2012
SELECT -- Клиенты 2006 года
CustomerID
FROM AdventureWorks2012.Sales.SalesOrderHeader AS OH
WHERE YEAR(OrderDate) = 2006
EXCEPT --кроме (за вычетом) клиентов 2007
SELECT
CustomerID
FROM AdventureWorks2012.Sales.SalesOrderHeader AS OH
WHERE YEAR(OrderDate) = 2007
-- По номерам клиентов выведем имена клиентов
;WITH LostCustomers -- Обобщенное табличное выражение, содержащие CustomerID потерянных клиентов
AS
(
-- Клиенты 2006 года
SELECT
CustomerID
FROM AdventureWorks2012.Sales.SalesOrderHeader AS OH
WHERE YEAR(OrderDate) =2006
EXCEPT --кроме (за вычетом) клиентов 2007
SELECT
CustomerID
FROM AdventureWorks2012.Sales.SalesOrderHeader AS OH
WHERE YEAR(OrderDate) = 2007
)
SELECT
P.LastName AS "Фамилия"
,P.FirstName AS "Имя"
,L.CustomerID AS "ID Клиента"
FROM LostCustomers AS L
LEFT JOIN
AdventureWorks2012.Sales.Customer AS C
ON L.CustomerID = C.CustomerID
LEFT JOIN
AdventureWorks2012.Person.Person AS P
ON C.PersonID = P.BusinessEntityID
ORDER BY P.LastName, P.FirstName
-- Этот и другие примеры на сайте /* Запросы к SQL Server на примерах */
Подробнее об этом Вы сможете узнать на курсах SQL Server
Ближайшие группы
Заказ добавлен в Корзину.
Для завершения оформления, пожалуйста,
перейдите в Корзину!
От какого лица вы будете оплачивать обучение?