Уважаемые слушатели! Обращаем ваше внимание, что 01.05.2024 и 09.05.2024 у нас выходные дни. Вы можете оставить сообщение в чате, мы обязательно ответим!

Корзина

Корзина

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

Частным лицам +7 (495) 232-32-16

Слушателям
от организации
+7 (495) 780-48-44

+7 (495) 780-48-49

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

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

ГУРМ

-- Как найти клиентов, сделавших заказ в предыдущий период, но не сделавших в текущем периоде

-- Еще больше примеров по изучению 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

envelope

Спасибо! Вам на e-mail отправлено письмо со ссылкой для подтверждения

Если письмо не пришло, поищите его в папке со спамом или повторите подписку

email-checked.png

Вы подписались на рассылку

Спасибо за обращение! Ваш менеджер свяжется с Вами в течение нескольких минут.