选择mysql后更新

时间:2017-06-12 10:50:49

标签: mysql

在从其他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';

我想创建一个存储过程,它将更新“累积”表中的所有数据。

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';
相关问题