プロが教える店舗&オフィスのセキュリティ対策術

SQLのクエリ、又はプロシージャで以下のことを実現したいです。
●前提
 テーブルT1とテーブルT2に、変更前のレコードと変更後のレコードがあります。
 仮にT1に次の列があります。しかも、列はユーザーによって添削できますので、列は可変。
 BusinessName Item1 Item2 Item3
 取引先A     A1   A2  A3
 取引先B     B1   B2  B3
 
 同じく、仮にT2に次の列があります。しかも、列はユーザーによって添削できますので、列は可変。
 BusinessName Item1 Item2 Item3
 取引先A     A1   A4  A3
 取引先B     B4   B2  B5

●以下の結果を抽出したいです。
 新しいテーブルT3を作成して結果をT3に格納。
 BusinessName PreData AfterData
 取引先A     A2    A4  
 取引先B     B1    B4  
 取引先B     B3    B5

プロシージャの初心者なので、どうか助けてください。

A 回答 (1件)

SELECT


A.BusinessName
, A.Item1 AS PreData
, B.Item1 As AfterData
FROM
T1 A
, T2 B
WHERE
A.BusinessName = B.BusinessName
AND A.Item1 <> B.Item1
UNION ALL
SELECT
A.BusinessName
, A.Item2 AS PreData
, B.Item2 As AfterData
FROM
T1 A
, T2 B
WHERE
A.BusinessName = B.BusinessName
AND A.Item2 <> B.Item2
UNION ALL
SELECT
A.BusinessName
, A.Item3 AS PreData
, B.Item3 As AfterData
FROM
T1 A
, T2 B
WHERE
A.BusinessName = B.BusinessName
AND A.Item3 <> B.Item3
ORDER BY
BusinessName ASC
, PreData ASC
    • good
    • 1
この回答へのお礼

naktak 様
 さっそくご回答をいただき、どうもありがとうございます。
 とても助かりました(涙)!

お礼日時:2016/03/28 11:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す