私は、以下に示す表に従ってデータを抽出するために、2つのSQLクエリを持っている:テーブルAを取得するマージ2つのテーブルのデータ - 列ワイズ
====
問合せ:
SELECT :DATE AS Date, A.Tracking_ID AS Number, A.Country, COUNT(EmailID) AS EmailSent
FROM
FACT_EMAILS A
LEFT OUTER JOIN DIM_ACCOUNT B
ON A.ACCT_ID=B.ACCT_ID
WHERE A.TIMESTAMP>SYSDATE
AND A.Tracking_ID IN (‘12345’,’23416’,’7890’)
GROUP BY :DATE, A.Tracking_ID, A.Country
クエリを取得するには、表B:
SELECT :DATE AS Date, A.Tracking_ID AS Number, A.Country, COUNT(EmailID) AS EmailResponse
FROM
FACT_EMAILS A
LEFT OUTER JOIN DIM_ACCOUNT B
ON A.ACCT_ID=B.ACCT_ID
INNER JOIN DIM_EMAILRESP C
ON C.Email_Type_ID = A.Email_Type_ID
WHERE C.Email_Type_ID IN (1,3,5)
AND A.TIMESTAMP>SYSDATE
AND A.Tracking_ID IN (‘12345’,’23416’,’7890’,)
GROUP BY :DATE, A.Tracking_ID, A.Country
======
背景:電子メール応答があるレコードのみを探しているので、私がテーブルBに入っている出力を得るために使う余分なテーブルが1つあります。このテーブルは、テーブルAのデータを抽出するときに使用されていません。また、データベースにテーブルAとテーブルBがありません。命名は、この例を説明するために使用されます。ここ
私の質問は、私は表A、表Bの両方を組み合わせて、表C.
として出力を得る誰かが助けてくださいすることができない方法です。
ヒント:LEFT JOIN'。 –
HI Gordon、ソーステーブルのデータを取得するために集計(Count操作を実行して、送信された電子メールの合計数と電子メールの応答数を取得しています)を実行しています。ここで左に参加するにはどうすればいいですか? – Karu3103
あなたが助けが必要な 'queries'を提供しない限り、最良の答えが(@GordonLinoffによって)あなたにすでに提供されています。 –