【发布时间】:2018-12-13 08:11:45
【问题描述】:
我是 sql server 的新手。
我有两个表[FLT_SKDL] 有多个重复数字,[SHIP] 使用主键并且只想插入一个 ID。
我想在我的 [SHIP] 表中插入从[FLT_SKDL] 到[SHIP] 的数据,其中使用了主键,所以我应该忽略我使用以下语法的重复项。
INSERT INTO DB01TD02.BRIC.SHIP
SELECT SHIP_NO, SHIP_TYPE_IATA, SHIP_TYPE_DIA, SHIP_TYPE_ICAO, SYSDATETIME(),'EMP', 'BRIC', SYSDATETIME(),'EMP', 'BRIC'
FROM DB01TD02.BRIC.FLT_SKDL
WHERE NOT EXISTS(SELECT SHIP_NO FROM DB01TD02.BRIC.SHIP WHERE DB01TD02.BRIC.SHIP.SHIP_NO = DB01TD02.BRIC.FLT_SKDL.SHIP_NO)
AND DB01TD02.BRIC.FLT_SKDL.SHIP_NO IS NOT NULL
我试过了
但在我的情况下不起作用。 有没有其他解决方案。 在此先感谢
【问题讨论】:
-
定义“但没用”
-
@CaiusJard 我尝试了该链接的所有答案(例如 NOT EXISTS、NOT IN、JOIN/IS NULL)
-
以后当你问一个问题时,不要只说“但它不起作用”——说出什么不起作用;错误信息来了?你要的船不在那里?你的电脑爆炸了?什么?我们不是读心术的人,说“它不起作用”对我们没有任何意义;您可以通过描述它的功能以及您希望它做什么以及为什么这两件事不同(如果不明显)来说明为什么它不起作用
-
@CaiusJard 抱歉,非常感谢您的建议。我会从下一次做
标签: sql database sql-insert