JOIN
テーブルをそれ自体と比較してfirstname
、lastname
を比較し、DOB
それらが同じ値であることを確認してから、が同じでないことを確認できますemployeeid
。
select *
from yourtable t1
inner join yourtable t2
on t1.firstname = t2.firstname
and t1.lastname = t2.lastname
and t1.dob = t2.dob
and t1.empid != t2.empid
上記のクエリは重複するレコードを表示する可能性があるため、以下を使用できます(SQL Fiddle with Demoを参照)。
select DISTINCT t1.empid,
t1.firstname,
t1.lastname,
t1.DOB
from yourtable t1
inner join yourtable t2
on t1.firstname = t2.firstname
and t1.lastname = t2.lastname
and t1.dob = t2.dob
and t1.empid != t2.empid
または、次を使用することもできますEXISTS
(デモ付きのSQLフィドルを参照)。
select t1.empid,
t1.firstname,
t1.lastname,
t1.DOB
from yourtable t1
where exists (SELECT *
FROM yourtable t2
WHERE t1.firstname = t2.firstname
and t1.lastname = t2.lastname
and t1.dob = t2.dob
and t1.empid != t2.empid)