我希望用另一行中的值更新行中的任何空值,这些值通过不同的表链接。其思想是更新初始值,以便从另一个获得任何额外的信息。我创造了这个环境来展示我想要发生的事情。
测试数据:
id value
------------
1 null
2 null
3 TEST
测试高度:
id1 id2
------------
1 2
1 3
这是我一直未成功使用的查询:
UPDATE test_data AS A
INNER JOIN test_alt ON A.id=test_alt.id1
INNER JOIN test_data AS B ON test_alt.id2=B.id
SET A.value = IF(A.value IS NULL, B.value, A.value);
测试数据的预期结果:
id value
------------
1 TEST
2 null
3 TEST
查询后结果:
id value
------------
1 null
2 null
3 TEST
首先应该提到的是:我需要获取任何非空值(哪一个不重要),因此已经得到了一个答案。
2条答案
按热度按时间hmtdttj41#
如果您真的不在乎选择了哪些非空值,那么您可以加入并限制例如
uqjltbpv2#
也许是这样的?