我想根据链接表parent
更新baby
的字段。如果任何链接的婴儿有parent.optin
= 1
baby.optin
值设置为1
这是我在尝试为一个父级(id为11)运行查询时的查询
UPDATE parent p
INNER JOIN baby b
ON p.id = b.parent_id
AND b.optin = 1
SET p.optin=b.optin
WHERE p.id = 11
父母有2个孩子,一个选择了,一个没有。目前我的查询没有将p.optin设置为1。
示例数据:
父
+----+-------+-------+
| id | name | optin |
+----+-------+-------+
| 11 | dave | 0 |
+----+-------+-------+
婴儿
+----+-----------+---------+-------+
| id | parent_id | name | optin |
+----+-----------+---------+-------+
| 2 | 1 | jane | 0 |
| 3 | 1 | freddie | 1 |
+----+---------------------+-------+
根据以上数据,我想将Parent.optin值设置为1,因为freddie有optin 1.如果freddie的optin值为0,那么parent.optin也将为0。
答案 0 :(得分:0)
我想你试试这个。如果你没有解决你的错误,请告诉我。
UPDATE parent p, baby b
INNER JOIN baby b ON p.id = b.parent_id
SET p.optin=b.optin
WHERE p.id = 11 AND b.optin = 1
感谢。