0
我試圖用另一個表(房子)的計數來更新一個表(街道)中的某些記錄。我試圖用街道上正確數量的房屋更新街道表中的house_count。我只想更新不正確的記錄。我已經能夠做到這一點是MSSQL使用下面的代碼:使用來自其他表的計數更新Oracle中的特定行
CREATE TABLE street
(
name varchar(255),
house_count int
);
Create table house
(
id varchar(255),
street_name varchar(255)
);
insert into street values ('oak',1)
insert into street values ('maple',2)
insert into street values ('birch',4)
insert into street values ('walnut',1)
insert into house values (1,'oak')
insert into house values (2,'oak')
insert into house values (1,'maple')
insert into house values (2,'maple')
insert into house values (1,'birch')
insert into house values (2,'birch')
insert into house values (3,'birch')
insert into house values (1,'walnut')
update s set s.house_count= hc.ActualCount
from street s
inner join
(select s.name, count(s.name) as 'ActualCount', s.house_count
from street s
inner join house h on s.name=h.street_name
group by s.name, s.house_count
having count(s.name) <> s.house_count) hc ON s.name=hc.name
where s.name=hc.name
我需要在Oracle中做類似的事情,但遇到了問題。從我發現的連接在Oracle中是不可能的,但是我很難得到一些可行的東西。非常感謝在Oracle中獲得這樣的幫助。
感謝
謝謝,我正在努力簡化我的例子,使其更容易解釋,但有其他的表在街道表中有記錄。例如一張也參考街道表的公寓表。在我的情況下,房子數量可能是公寓,但房屋和公寓永遠不會在同一條街上。我只關心更新房屋的數量,想單獨離開公寓街道。通過以這種方式運行語句,它將更新所有記錄。有關如何更新不正確的記錄或至少只是房子街道的任何想法? – user3306994