sql-server - T-SQL 语句需要改进

标签 sql-server t-sql sql-server-2000

我有以下运行正常的 T-SQL 代码(在 SQL 2000 中):

INSERT INTO M2MDATA01.dbo.cspopup (fcpopkey,
                                   fcpoptext,
                                   fcpopval,
                                   fnorder,
                                   fcpopacces)
   SELECT CSP69.fcpopkey,
          CSP69.fcpoptext,
          CSP69.fcpopval,
          CSP69.fnorder,
          CSP69.fcpopacces
     FROM M2MData69..CSPOPUP CSP69
    WHERE CSP69.fcpopkey = 'SHIPVIA'
          AND NOT EXISTS
                (SELECT CS01.identity_column
                   FROM m2mdata01..cspopup CS01
                  WHERE CS01.identity_column = CSP69.identity_column)

必须有一种更优雅的方式来做到这一点。我在这里在同一个脚本中以两种不同的方式引用同一个表。

有什么建议吗?

最佳答案

像这样吗?

INSERT INTO M2MDATA01.dbo.cspopup (fcpopkey,
                                   fcpoptext,
                                   fcpopval,
                                   fnorder,
                                   fcpopacces)
   SELECT CSP69.fcpopkey,
          CSP69.fcpoptext,
          CSP69.fcpopval,
          CSP69.fnorder,
          CSP69.fcpopacces
     FROM M2MData69..CSPOPUP CSP69
     LEFT
     JOIN m2mdata01..cspopup CS01
       ON CSP69.identity_column = CS01.identity_column
    WHERE CSP69.fcpopkey = 'SHIPVIA'
      AND CS01.indentity_column IS NULL

关于sql-server - T-SQL 语句需要改进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1302224/

相关文章:

t-sql - 如何在另一个字段的计算中使用别名

SQL CASE 表达式 - 设置局部变量的值

javascript - jQuery 自动完成远程数据源和动态行

sql-server - Tsql 从表创建 Xml

t-sql - 过去一个月每家商店每天未售出的产品数量

sql-server - SQL : How to bring back 20 columns in a select statement, 仅在单个列上具有唯一性?

python - 使用 Python 连接到 SQL Server Express 数据库(Windows 身份验证)

sql-server - 报表服务器无法连接到其数据库

sql - 我如何违反此约束?

SQL 限制 "WHERE X IN (...)"