Получить количество своевременных доставок в соответствии с конкретным часом клиента в SQL - PullRequest
0 голосов
/ 18 мая 2018

У меня есть две таблицы SQL:

Первая называется LIVRAISON и хранит все доставки.В частности, он содержит номер клиента (NumCptClient), дату и время доставки (heureLiv, DateLiv) и название города, куда был доставлен клиент (nomVille).

секунда называется IMPERATIF, которая моделирует специальную услугу для клиентов, которые хотят быть доставлены до определенного часа.Эта специальная услуга соответствует номеру клиента, названию города, максимальному часу, когда клиент должен быть доставлен (heureImp), и дате начала / окончания этого премиального варианта (dateDebImp, dateFinImp): доставка начинается вспециальное поле обслуживания, когда оно совпадает со строкой IMPERATIF комбинацией NumCptClient AND nomVille и что ее дата находится в диапазоне дат этой строки (клиент, хотя и имеет заказы специальной службы, может быть доставлен в городне имеет значения, и наоборот: такого рода поставки здесь не должны приниматься во внимание).

Мне нужно вычислить с помощью одного быстрого запроса SQL скорость между числом доставок, которые удовлетворяли этой специальной услуге (heureLiv <= <code>heureImp) и общее количество доставок для каждой пары клиентов И города, затронутых этой премиум-опцией.

Я настроил этот запрос, который дает мне всю необходимую информацию, кроме ставки:

SELECT NumCptCli, nomVille, heureImp, COUNT(*) AS TotalLivs
FROM LIVRAISON
  NATURAL JOIN IMPERATIF
GROUP BY NumCptCli, nomVille

Тогда возникает вопрос, как изменить этот запрос, чтобы добавить столбец с соответствующей скоростью,это столбец livsAlheure ниже и без отображения пар специальной службы, которые еще не зарегистрировали соответствующую доставку?

NumCptCli |nomVille            |heureImp|TotalLivs |livsAlheure
----------|--------------------|--------|----------|-----------
12345678  |PARIS               |07:30   |311       |80.56
87654321  |BREST               |15:30   |314       |95.2
...
...