所以我有一张看起来像这样的表:
表1
var query =
new[] {
new { A = 3, B = 3 },
new { A = 2, B = 2 },
new { A = 2, B = 2 },
new { A = 1, B = 1 }
}
.OrderBy(x => x.A)
.ThenBy(x => x.B)
.ThrowIfConsecutiveItemsAreEqual()
.ToList();
我想设置anna&基于父母颜色的颜色。它可能不会是蓝色的..
我不是很擅长这个,但是我试图改变我用于别的东西的另一个代码但是没有用。
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
这是我得到的距离和我在哪里挣扎......因为我不知道如何检查父母的颜色,然后将相同的颜色返回给后代。
所以我想在颜色列中设置与父颜色相同的颜色,如果父颜色不匹配,我希望它为NULL。
我没有多种颜色可供选择,所以我可以使用价值" blue"在代码中。我不需要实际地匹配"颜色值,我可以使用蓝色,红色或黄色值并运行脚本3次。
答案 0 :(得分:0)
试试这个:
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';