我試圖從另一個表中的另一個字段的總和更新一個表中的一個字段。mysql從另一個表更新表
company_tbl(PRIMARY,companySize,公司名稱) location_tbl(PRIMARY,companyID,locationSize,LOCATIONNAME)
兩個表由company_tbl.PRIMARY = location_tbl.companyID
update company_tbl comp, location_tbl loc
set companySize = sum(locationSize)
where comp.PRIMARY = loc.companyID
我越來越鏈接「無效使用羣組功能」的錯誤
公司可以有多個地點
是我想做的事情嗎?我想獲取屬於特定公司的地點總數,並用總和更新companySize。
謝謝!
對您的查詢進行一些更新。 WHERE lt.companyid = comp.primary 否則每companySize將是相同的:-) 所以我把它這是不可能做到的更新與此語法? 更新company_tbl補償,location_tbl祿 集companySize = SUM(locationSize) 其中comp.PRIMARY = loc.companyID 只是出於好奇,我喜歡學習新的東西:-) – Kukoy 2010-06-18 18:15:27
@Idealflip:如果沒有表的別名(一般在UPDATE語句中不被接受),那麼沒有表別名的列引用適用於沒有定義任何別名的表。 – 2010-06-18 18:17:31
您應該使用該視圖。除非您絕對需要針對公司規模的讀取進行優化,否則最好每次計算一次。如果您可以計算另一列中的某一列的值,則可以設置自己的狀態,以使兩個值不同步。 – Kendrick 2010-06-18 18:23:27