2017-04-22 130 views
0

我有兩個表(車輛和成本),我已經在成本表 中引入了一個部門列,所以我想更新車輛表中部門的成本表中的部門列更新不同查詢的結果列

我的車表是這樣的:

vehicle Department 
S526 424 
D097 402 
D113 403 
D111 430 
C005 400 
C003 403 
C002 403 

和成本tavle是這樣的:

car  Dept 
D097  
C005  
D113  
D113  
D111  
C005  
D113  
C005  
C003  
C002  
C005  
S526  
C002  
C002 

如何更新成本表有相關部門

我都試過,但它不工作:

update costs as h, 
(
    select v.vid as 'car', 
    v.department as 'department', 
    h.VID as 'newcar' 
    from vehicles AS v 
    join costs as h on v.vid = h.VID and v.costcentre = h.CostCenter 
) as t2 
set h.department = t2.department 
+0

爲什麼不只是內加入他們的行列? SELECT * FROM vehicle v INNER JOIN cost c ON c.car = v.id; – Kristian

+0

告訴我如何請更新所有車輛與同一部門 – Rhynix

+0

因爲數據可以從我以前的評論內部聯接追溯,我不認爲插入他們會有一個好主意。它只會創建冗餘數據。 – Kristian

回答

0
update costs h,vehicles v 
set h.Dept = v.Department 
where v.vehicle = h.car; 
+0

就像一個魅力 – Rhynix