【发布时间】:2011-12-17 10:00:22
【问题描述】:
我对函数 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)
有什么想法吗?谢谢。
【问题讨论】:
标签: sql oracle count conditional-statements