我需要从城市利沃夫中选择所有姓名和家庭相同的人。 这是我的数据库表
depart
debt city
43 odesa
23 kiev
79 lviv
78 lviv
empl
ide fn ln debt
341 ki trt 43
354 jed vt 79
43 ged gf 79
73 ged gf 79
456 jkl gdfg 78
532 kkhg vjv 23
45 ki vt 79
243 ki vt 78
这是预期的结果
fn ln
ged gf
ki vt
我写了这样的剧本
select distinct FN, LN from empl inner join depart on depart.DEBT=empl.DEBT
where LN in
(select
LN from empl
group by LN
having count(LN)>1)
and
FN in
(select
FN from empl
group by FN
having count(FN)>1)
and
depart.CITY='lviv';
但它没有选择相同的记录并用ide 354显示记录。如何修改它? 我使用oracle和toad
答案 0 :(得分:1)
select fn, ln
from
depart
inner join
empl
on depart.debt = empl.debt
where
city = 'lviv'
group by fn, ln
having count(*)>1
答案 1 :(得分:1)
试试这个:
SELECT E.FN, E.LN
FROM EMPL E LEFT OUTER JOIN DEPART D
ON E.DEBT=D.DEBT
WHERE CITY = 'LVIV'
GROUP BY E.FN, E.LN
HAVING COUNT(*)>1