2つの表に一致してはならないEMPLOYEE_NUMBERと給料。連結列は、私は完全なnoobieだので、私はただ普通の言葉でこれをあげるよ
私が探しているのは、Bには存在しないAからemployee_numberとsalaryの 'combination'の行を抽出することですが、employee_numberとsalaryはそれぞれ両方に存在する必要があります。
私は(..これは「雄弁」問題を提示するだけで、間違った関数に 名を許してください)2つの以下の条件でそれをやってする探しています:
1)A.unique(EMPLOYEE_NUMBER) B.unique(EMPLOYEE_NUMBER)AND A.unique(給料) はB.unique(給料)に存在する
2)A.concat(EMPLOYEE_NUMBER、給料)<> B.concat(EMPLOYEE_NUMBER、給与)
に存在します注:AとBは異なるデータベースにありますので、私はoこれを行うにはdblinkを使用します。
これは私がやってみましたです:
SELECT distinct * FROM dblink('dbname=test1 port=5432
host=test01 user=user password=password','SELECT employee_number,salary, employee_number||salary AS ENS FROM empsal.A')
AS A(employee_number int8, salary integer, ENS numeric)
LEFT JOIN empsalfull.B B on B.employee_number = A.employee_number AND B.salary = A.salary
WHERE A.ENS not in (select distinct employee_number || salary from empsalfull.B)
をしかし、私はそれがスプレッドシートを使用してクロスチェックしていたとして、それは間違っていることが判明し、私は同じ結果を得ることはありません。
ご協力いただければ幸いです。ありがとう。