テーブル構成が同じのAとBの比較をしたいです。
テーブル構成としてはこんな感じです。
CREATE TABLE TBL_A (
ID [int] PRIMARY KEY,
NO [int] PRIMARY KEY,,
NAME nchar,
KOSHIN_DATE [datetime],
:
:
timestamp [timestamp]
)
Bテーブルも同じ構成です。
timestampにはバイナリデータが入っているのでtimestampを除いた
テーブル内のKOUSHIN_DATE と TIMESTAMPを除いた全カラムを比較してAテーブルの更新日が9/23以前かつ、カラムの値が違うIDを抽出したいです。(ひとつでもカラムの値がちがければ対象)
その上で、Bテーブルから差分のあるカラムの値をAテーブルにUPDATEしたいです。
もしくは、抽出されたIDをBテーブルIDの行を全てAテーブルにUPDATEする手法でも可。
その時にKOSHIN_DATEをその日の日付をUPDATEしたいです。
その後、更新しなかったIDを抽出する。
ここまでの手順のSQLをご教授いただけないでしょうか。
長くなりますが、よろしくお願いします。
最初に比較だけでもできればと思い、下記のSQLを書いてみましたが、GROUP BYの部分でエラーが出てしまいました。
SELECT [ID] From (
SELECT ID
, NO
, NAME
, KOSHIN_DATE
(以下カラム略)
:
:
FROM A_table
UNION
SELECT ID
, NO
, NAME
, KOSHIN_DATE
(以下カラム略)
:
:
FROM B_table
)
GROUP BY [ID]
HAVING COUNT(*) = 2
もしよければSQLを教えていただければ、幸いです。
参考にしたサイトです。
http://www.projectgroup.info/tips/SQLServer/SQL/SQL000004.html
http://oshiete.goo.ne.jp/qa/5466761.html
http://d.hatena.ne.jp/CAMUS/20060111/1136984749
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。