なぜこれが最小値を選択するのか疑問に思いました。min がセット内の最小の数を選択すること、およびそれを取得するセットを明確に定義していることを理解していますが、ほとんどの場合、x(d)
私は理解していません。これらのエイリアスが何をしているのかよくわからないので、自分でコードを書き直すことはできませんでした。そのサブクエリが機能する理由を誰か説明できますか? それとも単に参照を与えるだけですか?
select (select min(d)
from (values
(convert(date,t.enddate)),
(convert(date,r.enddate)),
(convert(date,e.enddate))
) x(d)) as enddate, t.name
from team t
join roster r on t.personid = r.personid
join enr e on t.personid = e.personid and r.rosterid = e.rosterid