sql – 使用sub select更新 – 如何处理NULL值?

前端之家收集整理的这篇文章主要介绍了sql – 使用sub select更新 – 如何处理NULL值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用条件子选择进行更新,该子选择可能返回null … @H_502_2@UPDATE aTable SET aColumn = ( SELECT TOP 1 CASE WHEN bTable.someColumn = 1 THEN someValue1 WHEN bTable.someColumn = 2 THEN someValue2 ELSE someValue3 END FROM bTable WHERE bTable = @someCriteria ORDER BY someSortColumn ) WHERE aTable.id = @someId;

如果“bTable = @someCriteria”子句导致没有从SELECT返回结果,它会尝试将NULL插入“aColumn”,在本例中是一个NOT NULL列.

如何在这种情况下单独留下“aColumn”?

非常感谢.

解决方法

@H_502_2@... aColumn = ISNULL( ( SELECT TOP 1 CASE WHEN bTable.someColumn = 1 THEN someValue1 WHEN bTable.someColumn = 2 THEN someValue2 ELSE someValue3 END FROM bTable WHERE bTable = @someCriteria ORDER BY someSortColumn ),aColumn) ...

猜你在找的MsSQL相关文章