【发布时间】:2021-10-03 14:31:29
【问题描述】:
我在一个表中有一个列,我想根据另一个表中的条件将其设置为 true 或 false,该表仅通过第三个表与第一个表相关。第一个表是部署表,第二个表包含每个部署的消息(每个部署有许多消息),第三个表包含仅来自某些消息的 msg_data。并非所有部署都将包含 data_msg 消息,但如果包含,我想将部署表中的列设置为 TRUE。我创建了一个表视图,显示了该列应设置为 true 的所有行:
CREATE VIEW condition_true AS
SELECT DISTINCT deployment.id, deployment.condition
FROM deployment
JOIN messages ON messages.deployment_id = deployment.id
JOIN data_msgs ON data_msgs.messages_id = messages.id
GROUP BY deployment.id;
由于多种原因,此视图本身不可更新,但显然我想做的是
UPDATE condition_true
SET condition_true.condition = TRUE;
谁能帮我弄清楚如何做到这一点? 谢谢。
【问题讨论】:
标签: mysql sql-update inner-join distinct exists