内部結合を実行するクエリの作成に問題があります。
私のデータベース テーブルには、列 Date、HighTemperature、LowTemperature があります。私が望んでいるのは、月ごとの最高気温などを計算し、これらが同時に発生した日付を取得することです。以下のクエリを使用すると、これは正常に機能します。
SELECT ds.Date,
MONTH(ds.Date) AS Month,
ds.HighTemperature
FROM WeatherData.DailyStats ds
INNER JOIN (SELECT MONTH(Date) AS Month,
Date,
MAX(HighTemperature) AS HighTemperature
FROM WeatherData.DailyStats GROUP BY Month) ds2
ON MONTH(ds.Date) = MONTH(ds2.Date) AND ds.HighTemperature = ds2.HighTemperature
ORDER BY MONTH(ds.Date), ds.DATE ASC
これにより、その年の各月に 1 つずつ、合計 12 行が得られます。各行には、月番号、その月に記録された最高気温、およびそれが発生した日付が含まれています。
成功していないのは、少しトリッキーなことをしようとしたときです.HighTemperatureで直接クエリを実行するのではなく、毎月の最高気温範囲を見つけたい(HighTemperature - LowTemperature) AS TemperatureRange.
これを行うためにクエリを変更するにはどうすればよいですか?