显示与两个ID链接的记录

akh*_*hil 4 sql oracle

我有一张桌子

ID NAME
--------
1  AAA
2  BBB
2  AAA
2  CCC
1  DDD
2  DDD
Run Code Online (Sandbox Code Playgroud)

我必须显示与ID 1和2链接的记录

NAME
----
AAA
DDD
Run Code Online (Sandbox Code Playgroud)

我正在使用以下查询 -

Select Name from table1 where ID IN (1,2);
Run Code Online (Sandbox Code Playgroud)

但它正在向我展示 -

NAME
-----
AAA
BBB
CCC
DDD
Run Code Online (Sandbox Code Playgroud)

如何更改查询以解决此问题?

t-c*_*.dk 6

SELECT DISTINCT NAME
FROM tabel1 t1
join table1 t2
on t1.id = 1 and t2.id = 2 and t1.name = t2.name
Run Code Online (Sandbox Code Playgroud)

或者如果可以有很多比赛

SELECT DISTINCT NAME
FROM tabel1 t1
WHERE EXISTS (SELECT 1 FROM table1 t2 WHERE t1.name = t2.name and t2.id = 2)
and t1.id = 1
Run Code Online (Sandbox Code Playgroud)

要么

SELECT NAME FROM tabel1 WHERE id = 1
INTERSECT
SELECT NAME FROM tabel1 WHERE id = 2
Run Code Online (Sandbox Code Playgroud)