以下は、私の本当の問題に近い仮説的状況です。 RECIDが一意であるため、表1SQL結合からの重複の削除
recid firstname lastname company
1 A B AAA
2 D E DEF
3 G H IJK
4 A B ABC
私はRECID上のテーブルを結合する場合は今、それが0の結果が得られます。この
recid firstname lastname company
10 A B ABC
20 D E DEF
30 M D DIM
40 A B CCC
のように見えるテーブル2を持っているが、何の重複はありません。しかし、私が一意ではなく、重複しているfirstnameとlastnameの列に参加すると、内部結合に重複があります。結合に追加する列が多いほど、悪化します(重複が多く作成されます)。
上記の単純な状況では、次のクエリで重複を削除するにはどうすればよいですか。私は、誰もが将来
create table table1 (recid int not null primary key, first varchar(20), last varchar(20), company varchar(20))
create table table2 (recid int not null primary key, first varchar(20), last varchar(20), company varchar(20))
insert into table1 values(1,'A','B','ABC')
insert into table1 values(2,'D','E','DEF')
insert into table1 values(3,'M','N','MNO')
insert into table1 values(4,'A','B','ABC')
insert into table2 values(10,'A','B','ABC')
insert into table2 values(20,'D','E','DEF')
insert into table2 values(30,'Q','R','QRS')
insert into table2 values(40,'A','B','ABC')
あなたが戻ってRECIDを必要としない - いない場合は、クエリからそれを削除すると、あなたの問題を解決します。 – Paddy
はい、そうでなければ私は残りをしました。 –
非重複行のロジックを決定する必要があります。 CompanyIdとRecIdはあなたの詐欺師とは異なります。これらのうちどれを保存したいですか? – JNK