У меня проблема с функцией count ().Я хочу, чтобы это учитывалось только при определенных условиях.
Что я хочу сделать, это отобразить для каждой компании название компании, имя руководителя компании и количество арендных плат, превышающих три дня, сделанные в 2010 году..
Итак, условие таково: количество арендных плат, превышающее три дня в 2010 году.
Поэтому, если у компании нет арендных плат, удовлетворяющих условию, это неисключены из результирующей таблицы, но вместо этого должно быть записано ноль.Например:
company 1 -------------------- BOSS 1-----------------------2
company 2---------------------- BOSS 2---------------------- 0 --doesn't satisfy the condition: 0 rentals
company 3-----------------------BOSS 3 ----------------------5
company 4---------------------- BOSS 4--------------------------1
company 4 ----------------------BOSS 5 ----------------------- 0 --doesn't satisfy the condition: 0 rentals
AND NOT
company 1----------------------BOSS 1---------------------------2
company 3--------------------- BOSS 3---------------------------5
company 4----------------------BOSS 4 --------------------------1
Мои коды sql отображают вторую таблицу, а не первую таблицу.Это мой код:
SELECT ag.nom_agence as NOM_AGENCE, ag.responsable_agence, count(*) as RESPONSABLE
FROM agences ag, locations l
WHERE ag.id_agence = l.id_agence AND
l.date_location BETWEEN to_date('01/01/2010','DD.MM.YYYY') AND to_date('31/12/2010','DD.MM.YYYY') AND
l.duree > 3
group by ag.nom_agence,ag.responsable_agence
Я хочу что-то такого формата (без предложения where):
count(l.date_location BETWEEN to_date('01/01/2010','DD.MM.YYYY') AND to_date('31/12/2010','DD.MM.YYYY') AND
l.duree > 3)
Есть идеи?Спасибо.