結果ごとに複数のアクティビティ ('act's) がある場合でも、結果ごとに 1 つの行を返す方法を見つけようとしています。私は無駄に読んで検索しました。
私が欲しいもの:
Date Site Result act1 act2
1985-06-10 1008 NT6 5 10
私が得るもの:
Date Site Result act1 act2
1985-06-10 1008 NT6 5
1985-06-10 1008 NT6 10
これが壊れていないことを知っている私の(例)コードですが、それは私が試したパスです。欲しいものを手に入れる方法がわからないだけです。
SELECT
t."Date",
t."Site",
t."Result",
CASE
WHEN a.Type = 'act1'
THEN a.Count
END AS "act1",
CASE
WHEN a.Type = 'act2'
THEN a.Count
END AS "act2"
FROM
(
SELECT Sample.SAMPLE_ID,
Sample.Date,
Sample.Site,
Sample.Result
FROM Sample
WHERE Sample.Date is Between then and now
) t
LEFT OUTER JOIN
ACTIVITY
ON (ACTIVITY.SAMPLE_ID = t.SAMPLE_ID)