sql - '.'附近的语法不正确。在更新变量表时

标签 sql sql-server sql-server-2008 syntax-error

更新表格变量时出现问题。我已经声明了它,但是当我运行整个查询时,我得到了这个错误:

Incorrect syntax near '.'.



而且我似乎无法解决问题...
UPDATE @List 
SET nrID = CASE 
              WHEN nrID IS NULL 
                 THEN t1.nrID 
                 ELSE nrID 
           END 
FROM @List 
INNER JOIN table1 t1 ON @List.PNr = t1.PNr
INNER JOIN table2 t2 ON t1.n nrPNr = t2.nrPNr
WHERE t1.PNr = t2.PNr AND t2.Isactive = 0

最佳答案

UPDATE List 
SET List.nrID = t1.nrID
FROM @List AS List
INNER JOIN table1 t1 ON List.nrID = t1.nrID
INNER JOIN table2 t2 ON t1.nrID = t2.nrID
WHERE t1.nrID = t2.nrID AND t2.Isactive = 0

如评论中所述,内部联接将删除您情况下的所有空值

关于sql - '.'附近的语法不正确。在更新变量表时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39372137/

相关文章:

sql - 在 SQL Server 中转换为具有特殊字符名称的 XML

php - 多个结果正在上传到表中

sql-server - 查询没有返回结果

c# - 使用 LIKE 关键字在 SQL 中搜索数据

mysql - 地理位置字符串sql中的变量

sql - 不带 '?'的JDBC RDD查询语句

sql - 如何使用 SQL Server 批量更新?

SQL Server 占用完整内存后速度完全变慢

c# - SQL C# 交互不起作用

sql - 同步表 - UPDATE INSERT DELETE 的顺序重要吗?