我有两个包含ID, Date, var1, var2
...的表,依此类推。
我使用以下查询将ID
从Table2
拉到Table1
,其中ID
不在Table1
中。
INSERT INTO [192.168.0.241].mvdsc1302.dbo.patient_reg
SELECT *
FROM [192.168.36.36].mvdsc1302.dbo.patient_reg a
WHERE a.patient_id NOT IN (SELECT patient_id
FROM [192.168.0.241].mvdsc1302.dbo.patient_reg
WHERE patient_id = a.patient_id)
以上代码将新的IDs
提取到Table1
。
我还需要一个条件,如果我需要拉ID
中已经存在但table1
date
的新输入ID
的{{1}},该怎么办?
答案 0 :(得分:1)
那是你想要的吗?
REPLACE INTO [192.168.0.241].mvdsc1302.dbo.Patient_Reg
SELECT *
FROM [192.168.36.36].MVDSC1302.DBO.Patient_Reg a
WHERE NOT EXISTS
(SELECT *
FROM [192.168.0.241].mvdsc1302.dbo.Patient_Reg b
WHERE b.patient_id=a.patient_id
AND b.Date=a.Date)
答案 1 :(得分:0)
请尝试这个。
除了Patient_ID
INSERT INTO [192.168.0.241].mvdsc1302.dbo.Patient_Reg
SELECT * FROM [192.168.36.36].MVDSC1302.DBO.Patient_Reg a
Where a.patient_id NOT IN (SELECT DISTINCT patient_id FROM [192.168.0.241].mvdsc1302.dbo.Patient_Reg)
除了Patient_id和Date
INSERT INTO [192.168.0.241].mvdsc1302.dbo.Patient_Reg
SELECT * FROM [192.168.36.36].MVDSC1302.DBO.Patient_Reg a
Where a.patient_id NOT IN (SELECT DISTINCT patient_id FROM [192.168.0.241].mvdsc1302.dbo.Patient_Reg)
AND a.DATE NOT IN (SELECT DISTINCT DATE FROM [192.168.0.241].mvdsc1302.dbo.Patient_Reg)
答案 2 :(得分:0)
尝试一下:
INSERT OR REPLACE INTO [192.168.0.241].mvdsc1302.dbo.Patient_Reg
SELECT *
FROM [192.168.36.36].MVDSC1302.DBO.Patient_Reg a
WHERE NOT EXISTS
(SELECT * FROM [192.168.0.241].mvdsc1302.dbo.Patient_Reg b
WHERE b.patient_id=a.patient_id AND b.Date=a.Date)