を持っていない行のみ私はthis、this、this、thisとthisを見てきましたが、私の質問は異なっています。挿入一つのテーブルから別の行が、何の重複
私は表1を持っている:
id c a b rc bid
1 12 4 6 35 4
2 12 4 6 67 7
3 12 4 6 88 8
4 23 4 7 49 3
5 23 5 8 59 8
表2はまた、同じ列を持っていますが、bid
列を持っていません。
列の値が同じである場合、行は重複と見なされます。c
,a
およびb
。したがって1,2,3行は重複していると見なされます。
Table1
〜Table2
の行を重複しない行だけ挿入したいとします。 これは、行1,2および3がTable2
に挿入されないことを意味します。重複がないので、行4と5だけが挿入されます。
ので、表2に挿入した後、次のようになります。
select distinct c,a,b,count(*) from Table1 group by c,a,b having count(*) > 1
しかし、どのように把握することはできませんよ。
id c a b rc
1 23 4 7 49
2 23 5 8 59
を私は行がこのクエリを使用して何の重複を持たない得ることができているかを知ります挿入するには特定の列を指定する必要があるため、Table2
に挿入してください。あなたが重複行を除外するためにNOT EXISTS
を使用することができます
insert into Table2 (c, a, b, rc) select distinct c,a,b,count(*) from Table1 group by c,a,b having count(*) > 1
表2のデータも指定します(挿入後)。 – jarlh
* Table2にも同じ列がありますが、入札列はありません。* - あなたのINSERTでは 'bid'列を使用しています! –
あなたが言ったように、 'Table2'には' bid'カラムがありません。それで、なぜあなたは 'のように挿入しようとしているのですか?' Table2(c、a、b、rc、bid)... ' – 1000111