У меня есть две таблицы 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
...