2016-08-10 20 views
-1

私は一連の野生動物調査からデータを取得しようとしています。この質問の目的のために、私は使用している2つのプライマリテーブルを持っています。調査イベントが行われた日時を含む「イベント」について説明します。もう1つは、観測された各種とどの調査イベントが行われたかを示す「観測」を記述しています。条件付きでCOUNTを使用する場合にnull値を含める

私は、各調査イベント中に特定の種の数を日付の範囲で検索したいと考えています。私はその種が見られる日にこれを達成することができますが、その種が観察されない場合にはイベント数が0のエントリも含めることができます。

+2

左外部結合 – Nikki9696

+1

[構造化クエリ言語(SQL)の質問](http://meta.stackoverflow.com/a/271056/4955425) – sstan

+1

データ構造を投稿できますか?何を試しましたか?結果は何でしたか? –

答えて

0

日付範囲に一致するイベントを選択し、観測をカウントする相関サブクエリを使用することができます。

select 
    event_id, 
    (
    select count(*) 
    from observation o 
    where o.event_id = e.event_id 
    and o.species_id = :species_id 
) as observation_count 
from event e 
where event_date between :start_date and :end_date; 

本当のクエリは、お使いのDBMSに応じて、あなたのテーブルと列の名前、あなたのデータを(例えばそれがある異なります1つの動物につき1つの観察記録または観察記録には見られる動物の数が含まれていますか?)など、より多くの情報を与えられた方がよいでしょうか?

関連する問題