私はcount()関数に問題があります。私はそれを特定の条件下でのみ数えたいと思う。Oracleのsql count()関数ですか?
私は何をしたい各企業、会社名、会社の上司の名前と
2010年に作られた3日間を超えるレンタルの数を表示するので、条件がされている。数
したがって、会社に条件を満たすレンタルがない場合は、結果テーブルから削除してはならず、代わりにゼロを書き込む必要があります。たとえば、次のようになります。
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
My SQLコードは、最初の表ではなく2番目の表を表示します。これは私のコードです:任意のアイデア
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)
:
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句なし)この形式の何かをしたいですか?ありがとう。
「l.duree> 3」はフィルタリングしていません。実際には、「3日を超えるレンタル数」という条件を満たす必要があります。しかし、WHERE句は結果を制限しています – mkab
私の最新の編集を試してみてください。元のクエリでちょっと混乱していました。 – StevieG
これは本当に '(エラー:キーワードがありません)'動作しませんでした。 'case'の使い方について。 – mkab