2つのテーブルtblEmp1とtblEmp2から、tblEmp2を比較してtblEmp1の一致しない行を抽出する必要があります。2つのテーブルから一致しない行を返すSQLクエリ
はあなたのすべては、DEPTID = 3については、上記MngrID = 994、995、999及びTempID = 165、559を見ることができるようにtblEmp2
EmpID DeptName DeptID MngrID TEMPID Salary1 Salary2 DOJ
84 XYZ 3 994 165 1500000000 1500000000 2016-12-31
85 XYZ 3 995 559 1000000000 1000000000 2016-12-31
86 XYZ 3 999 556 2500000000 2500000000 2016-12-31
から選択* tblEmp1
EmpMasterID DeptID MngrID TEMPID Salary1 Salary2 DOJ
46 3 995 559 1000000000 1000000000 2016-12-31
47 3 999 556 2500000000 2500000000 2016-12-31
48 3 994 165 1500000000 1500000000 2016-12-31
49 3 998 566 7500000000 7500000000 2016-12-31
50 3 1049 562 9500000000 9500000000 2016-12-31
から選択します* 、556私はsalary1とsalary2をDOJ = '2016-12-31'と一致させています。
私の要件は、DFeptID = 3とDOJは=「2016年12月31日」 はつまり、私のクエリはtblEmp1から終わる2行を返す必要があるため、私はtblEmp2テーブルに存在しない最初のテーブルからレコードだけを抽出すべきですテーブル
EmpMasterID DeptID MngrID TEMPID Salary1 Salary2 DOJ
49 3 998 566 7500000000 7500000000 2016-12-31
50 3 1049 562 9500000000 9500000000 2016-12-31
彼らはDEPTID = 3 tblEmp2テーブルに存在していないとDOJ =ので、 '2016年12月31日'
これは私が今
select t1.EmpMasterID, t1.DeptID, t1.MngrID, t1.TEMPID, t1.Salary1, t1.Salary2, t1.DOJ
from tblEmp1 as t1
left outer join tblEmp2 as t2
on t1.DeptID = t2.DeptID, t1.MngrID = t2.MngrID, t1.TEMPID = t2.TEMPID, t1.DOJ = t2.DOJ
where t1.DeptID = 3 and t1.DOJ = '2016-12-31' and t2.MngrID is null and t2.TEMPID is null
までTRIDてきたものです3210
重要:tblEmp2テーブルはDeptNameに基づいてフィルタリングする必要があることを忘れています。つまり、tblEmp1.DeptID = 3、tblEmp2.DeptName = 'XYZ'、tblEmp1.DOJ = '2016-12-31'検索/フィルタ条件とする。
比較の対象となるのはどの列ですか? MngrId、TempIDまたは何ですか? –
どちらか一方が異なる場合 – Amar