Kuk*_*koy 2 mysql sql aggregate-functions mysql-error-1111
我正在尝试从另一个表中的另一个字段的总和更新一个表中的字段.
company_tbl(PRIMARY,companySize,companyName)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
Run Code Online (Sandbox Code Playgroud)
我收到"无效使用群组功能"的错误
公司可以有多个地点
我想做什么?我想获取属于特定公司的位置总和,并用总和更新companySize.
谢谢!
使用:
UPDATE company_tbl comp
SET companySize = (SELECT SUM(lt.locationSize)
FROM location_tbl lt
WHERE lt.companyid = comp.primary)
Run Code Online (Sandbox Code Playgroud)
... 或者你可以使用一个视图,包含:
SELECT c.primary,
COALESCE(SUM(lt.locationsize), 0) AS companysize
FROM company_tbl c
LEFT JOIN location_tbl lt ON lt.companyid = c.primary
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3710 次 |
| 最近记录: |