私は2つのテーブルを持っています。私のクエリは以下を返します:左外部結合を使用してレコードが見つからない場合はNULLを返しません。
AUT | 0
しかし、何も返されません。以下のことを試してみましたが、何も動作しません。
select substr(s.initial_group_code,1,3) as ko_tun, ifnull(count(s.id),0)
from study_entitlement s
left outer join graduation_status g on g.study_entitlement_id = s.id
where g.graduation_status_date between str_to_date('01.01.2017', '%d.%m.%Y')
and str_to_date('31.01.2017', '%d.%m.%Y')
and substr(s.initial_group_code,1,3) = 'AUT'
group by substr(s.initial_group_code,1,3);
select substr(s.initial_group_code,1,3) as ko_tun, count(s.id)+0
from study_entitlement s
left outer join graduation_status g on g.study_entitlement_id = s.id
where g.graduation_status_date between str_to_date('01.01.2017', '%d.%m.%Y')
and str_to_date('31.01.2017', '%d.%m.%Y')
and substr(s.initial_group_code,1,3) = 'AUT'
group by substr(s.initial_group_code,1,3);
select substr(s.initial_group_code,1,3) as ko_tun, COALESCE(count(s.id),0)
from study_entitlement s
left outer join graduation_status g on g.study_entitlement_id = s.id
where substr(s.initial_group_code,1,3) = 'AUT'
and g.graduation_status_date between str_to_date('01.01.2017', '%d.%m.%Y')
and str_to_date('31.01.2017', '%d.%m.%Y')
group by substr(s.initial_group_code,1,3);
それがこれはどの伝えるために簡単ですので、エディタでコードをフォーマットしてください。 – kchason
グループ「AUT」が実際にあなたのデータセットに存在することは確かですか?ここでカレンダーテーブルを使用するルートを移動する必要があります。 –
ここでは、選択した列が両方ともベーステーブルにあり、外部結合テーブルではないという点で、この問題は発生していません。何もないことは何を意味するのですか? 3つのクエリが同じコードですべて異なる試みであると仮定していますか? – kchason