アプリ版:「スタンプのみでお礼する」機能のリリースについて

すみません。
SELETE kijunbi,kubun.code FORM テーブルA
JOIN kijunbi,kubun FORMテーブルB
WHERE テーブルA.kijunbi <>テーブルB.kijunbi

後がわりません。

教えて下さい。

宜しくお願いします。

質問者からの補足コメント

  • テーブルAの方がテーブルBより件数が多い時、削除し、
    テーブルAの方がテーブルBより件数が少ない時、
    追加をします。

    大変申し訳ありませんが教えて下さい。

    宜しくお願いします。

      補足日時:2016/12/12 12:06

A 回答 (3件)

簡単なサンプルつけときます



//元データ
create table tbl_a(id int not null primary key);
create table tbl_b(id int not null primary key);
insert into tbl_a value(1),(2),(4);
insert into tbl_b value(1),(2),(3),(5);

//削除
delete from tbl_a where id in(
select id from (select A.id from tbl_a as A left join tbl_b as B on A.id=B.id where B.id is null) as dummy
);

//投入
insert into tbl_a (
select B.id from tbl_a as A right join tbl_b as B on A.id=B.id where A.id is null
);
    • good
    • 1

>テーブルAの方がテーブルBより件数が多い時、削除し、


>テーブルAの方がテーブルBより件数が少ない時、

であれば、テーブルAを全部削除して、テーブルBをテーブルAに全部流し込めばいいのでは?

差分だけで処理したいなら以下のようなロジック
・AにBをLEFT JOINしBがNULLのコードを削除する
・BにAをLEFT JOINしAがNULLのコードを追加する
    • good
    • 0

削除して追加するのと何もしないのとはどう違うのでしょうか?

    • good
    • 0

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