我有以下运行正常的 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/