在从其他4个表中选择值后,如何更新一个表:
SELECT
(SELECT COUNT(*) FROM racunala) as racunala,
(SELECT COUNT(*) FROM objekti) as objekti,
(SELECT COUNT(*) FROM programi) as programi,
(SELECT COUNT(*) FROM users) as korisnici,
(SELECT COUNT(*) FROM tvrtke) as tvrtke
我有另一个名为“cumulative”的表,我想根据上面的查询更新该表。
UPDATE `info`.`cumulative` SET `korisnici`=korisnici, `tvrtke`=tvrtke, `objekti`=objekti, `programi`=programi, `racunala`=racunala WHERE `idcumulative`='1';
我想创建一个存储过程,它将更新“累积”表中的所有数据。
答案 0 :(得分:2)
你需要类似的东西
UPDATE
`info`.`cumulative`
SET
`korisnici`= ( SELECT COUNT( * ) FROM users ),
`tvrtke`= ( SELECT COUNT( * ) FROM tvrtke ),
`objekti`= ( SELECT COUNT( * ) FROM objekti ),
`programi`= ( SELECT COUNT( * ) FROM programi ),
`racunala`= ( SELECT COUNT( * ) FROM racunala )
WHERE
`idcumulative`='1';
您可以将其与WHERE条件
结合使用UPDATE
`info`.`cumulative`
SET
`korisnici`= ( SELECT COUNT( * ) FROM users WHERE users.X = info.X ),
`tvrtke`= ( SELECT COUNT( * ) FROM tvrtke WHERE tvrtke.X = info.X ),
`objekti`= ( SELECT COUNT( * ) FROM objekti WHERE objekti.X = info.X ),
`programi`= ( SELECT COUNT( * ) FROM programi WHERE programi.X = info.X ),
`racunala`= ( SELECT COUNT( * ) FROM racunala WHERE racunala.X = info.X )
WHERE
`idcumulative`='1';