0
我试图用locationID更新人员表。但是,我只想在一个人只有一个地址时更新位置。更新值不包含在子查询中选择语句
我试图拼凑一个子查询。但是,如果我在选择语句中包含地址的locationUD,那么它给了我所有人,甚至包含2个实际地址的人(因为他们不是住在一个地址多次)。
如何重写我的只有在某个人出现在子查询中而没有在select语句中包含locationID的情况下,查询才能更新locationID?
update p set locationID = n2.locationID
--select *
from
Personnel p
inner join (select p.personID,
count(*) AS 'Num of Households/Addresses'
--select *
from Person pe
inner join Address a on a.personID = pe.personID
group by pe.personID
having count(*) = 1) n2 on n2.personID = p.personID