我有两个存储两组ID的表,当四个ID中的任何一个为NULL时,前端应用程序出现问题。这四个值总是变化,可以是NULL,但总会有一个具有正确的条目。
我的问题是,我可以将这四个值输入临时表,然后使用实际具有值的列更新所有NULL值吗?由于具有正确值的列始终会变得更难。
基本上我正在制作一个存储过程,但无法弄清楚这个逻辑。
答案 0 :(得分:0)
听起来您只需要使用coalesce
来查找非NULL值。
coalesce(table1.col1, table1.col2, table2,col1, table2.col2)
唯一需要注意的是,如果两列具有不同的非NULL值,则此表达式将返回它找到的第一个列(按列出列的顺序)。但是,如果您没有出现这种情况,或者您可以指定在发生这种情况时使用哪一列,则无论列的哪种组合为NULL,这都应该有效。
答案 1 :(得分:-1)
使用表表达式然后从结果表中连接两个表,使用那些表更新列缺失数据。