gpt4 book ai didi

mysql - 如果存在与 table2 的关系,则将 table1 中的标志设置为 true

转载 作者:行者123 更新时间:2023-11-29 07:24:18 26 4
gpt4 key购买 nike

我想这是理所当然的事情,但不知何故我现在无法做到这一点。

基本上,我有一个表专辑和一个表艺术家,并且我想根据是否存在与专辑的适当字段的关系来更新艺术家的 is_composeris_interpreter 标志。 (摆弄演示架构:http://sqlfiddle.com/#!9/129a9)

我尝试使用选择 ID 的子查询进行更新,但这似乎非常非常慢。然后我尝试使用 join、group by 和having 来实现,但至少在执行更新语句时 group by 不可用。

如果有人能指出我正确的方向,那就太好了!

最佳答案

UPDATELEFT JOIN结合使用

UPDATE artists AS a
LEFT JOIN albums AS ai ON ai.interpreter = a.id
LEFT JOIN albums AS ac ON ac.composer = a.id
SET a.is_interpreter = ai.id IS NOT NULL,
a.is_composer = ac.id IS NOT NULL

DEMO

关于mysql - 如果存在与 table2 的关系,则将 table1 中的标志设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35023838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com