問題のあるスクリプトは次のとおりです。
select distinct person, min(pdate) as min_date from db
where ptype like 'A1%'
or (ptype like 'B1%'
and (pdate between '2000-01-01' and '2001-01-01'))
group by person
問題
取得した min_date には、指定した更新日以外のものも含まれます。ただし、ptypes の 1 つを取り出すと、次のようになります。
select distinct person, min(pdate) as min_date from db
where ptype like 'A1%'
and (pdate between '2000-01-01' and '2001-01-01')
group by person
その後、この問題はなくなります。2 番目の ptype を導入すると、指定した pdate 以外のインスタンスが返されるのはなぜですか?
ありがとう。