こんにちは、次のサブクエリを変換して結合のみを使用しようとしていますが、変換に問題があり、結果が正しくフィルタリングされていません。問題または結合を使用した正しいクエリを理解するための助けが必要です。サブクエリを含むSqlは正常に機能しています。
SELECT ev1.eventgender,ev1.distance,ev1.style FROM events ev1
JOIN results re1 ON ev1.eventid = re1.eventid
JOIN competitors cm1 on re1.competitornum = cm1.competitornum
WHERE cm1.countrycode = 'AUS'
AND ev1.eventid NOT In (SELECT ev2.eventid FROM events ev2
JOIN results re2 ON ev2.eventid = re2.eventid
JOIN Competitors cm2 ON re2.competitornum = cm2.competitornum
WHERE cm2.countrycode = 'AUS'
AND re2.place IN (1,2,3))
次のクエリを試しましたが、結果が正しくありません
SELECT ev1.eventgender,ev1.distance,ev1.style FROM events ev1
LEFT OUTER JOIN results re1
ON ev1.eventid = re1.eventid
AND re1.place Not in (1,2,3)
JOIN Competitors cm1 ON re1.competitornum = cm1.competitornum
AND cm1.countrycode = 'AUS'
WHERE ev1.eventid IS NOT NULL
ORDER by ev1.eventgender, ev1.style
実結果
期待される結果