1
を選択し、私は、以下のサブクエリを持っている:PostgresSQLの集計関数2つの対応するフィールド
LEFT OUTER JOIN
(
SELECT
MAX(testresult."testdate") AS beforeresult,
testschedule."test_id",
testschedule."asset_id",
testschedule."testdate" AS testdate,
testschedule."testresult_id" as scheduleresult_id
FROM
"public"."testresult" testresult
INNER JOIN "public"."testschedule" testschedule
ON testschedule."asset_id" = testresult."asset_id"
AND testschedule."test_id" = testresult."test_id"
WHERE
"testresult"."client_id" = 25368272
AND testresult."testdate" < testschedule."mintolerancedate"
AND testschedule."testdate" > '2016-10-01'
AND testschedule."testdate" < '2016-10-20'
GROUP BY
testschedule."asset_id",
testschedule."test_id",
testschedule."testdate",
testschedule."testresult_id"
ORDER BY MAX(testresult."testdate")
) lasttr
ON "testschedule"."asset_id" = lasttr."asset_id"
AND "testschedule"."test_id" = lasttr."test_id"
AND testschedule."testdate" = lasttr.testdate
これは私に正しいtestdateを与えます。しかし、私はまた、日付に対応する "testresult_id"というテストスケジュールが必要です。上記のクエリからこれを選択する方法はありますか?事前
クイックレスポンスありがとうございますが、私はまだtestschedule "testresult_id"フィールドを取得していません。基本的には、どうにかしてtestdateのMAX集約関数に結合する必要がありますが、私はその作業を行うようには見えません。私の見積もりは、私が見落としている単純なものです。 – user3075171
別の参加は必要ありません。横結合は、あなたが望むことをする必要があります。 –
"test_id" = "test_id" = ts。 "asset_id""testschedule"。 "test_id" = ts。 "test_id"を実行したときに、これを実行すると、 group by節を追加すると、「入力の終わりに構文エラーが発生します」というメッセージが表示されます。 "ON"句を追加すると、実行されますが、各グループの結果は表示されません。 – user3075171