所以我有一个看起来像这样的表格:
表1
id name dad mom color
1 bob 12 4 NULL
4 embla NULL NULL blue
12 clyde NULL NULL blue
2 anna 12 4 NULL
我想根据安娜和鲍勃 parent 的颜色设置安娜和鲍勃的颜色。它可能并不总是蓝色的..
我对此不太擅长,但我尝试更改我用于其他用途的另一个代码,但没有成功。
UPDATE table1 AS p
INNER JOIN table1 AS Dad
ON p.dad_id = dad.id AND p.mom_id = mom.id
IF color = blue
SET p.color = blue
.....?
这就是我走了多远,也是我挣扎的地方......因为我不知道如何检查 parent 的颜色,然后将相同的颜色返回给后代。
所以我想在颜色列中设置与 parent 颜色相同的颜色,如果 parent 颜色不匹配,我希望它为NULL。
我没有太多颜色可供选择,因此我可以在代码中使用值“blue”。我不需要实际“匹配”颜色值,我可以使用蓝色、红色或黄色值并运行脚本 3 次。
最佳答案
试试这个:
UPDATE table1 p
JOIN table1 dad ON dad.id = p.dad_id AND dad.color = 'blue'
JOIN table1 mom ON mom.id = p.mom_id AND mom.color = 'blue'
SET p.color = 'blue';
关于php - 根据其他 2 个单元格值的结果更新单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37837177/