1

問題のあるスクリプトは次のとおりです。

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 以外のインスタンスが返されるのはなぜですか?

ありがとう。

4

2 に答える 2