1

我需要从利沃夫市选择所有具有相同姓名和家庭的人。这是我的数据库表

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的记录。如何修改它?
我将甲骨文与蟾蜍一起使用

4

2 回答 2

1
select fn, ln
from 
    depart
         inner join 
    empl 
         on depart.debt = empl.debt
where 
    city = 'lviv'
group by fn, ln
having count(*)>1
于 2012-08-08T08:47:58.113 回答
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
于 2012-08-08T08:48:34.477 回答