C1-*_*4MP 1 sql t-sql sql-server not-exists
我在Load_Charges_IMPORT查询中有大约2600行没有插入到Load_Charges查询中.
我试图确保没有添加重复的主键条目.主键在Load_Charges查询中建立为复合键(Charge Description + Charged Amount).Load_Charges_IMPORT查询中未设置任何键,并且正在从Excel文档导入此数据.
你能告诉我我的代码是否有问题,以及0 row(s) affected当我知道有2600多行时我会得到回复的原因Load_Charges_IMPORT.
INSERT INTO Load_Charges
SELECT *
FROM Load_Charges_IMPORT
WHERE
NOT EXISTS (SELECT [Load ID]
FROM Load_Charges
WHERE Load_Charges_IMPORT.[Load ID] = Load_Charges.[Load ID])
AND NOT EXISTS (SELECT [Charge Description]
FROM Load_Charges
WHERE Load_Charges_IMPORT.[Charge Description] = Load_Charges.[Charge Description])
AND NOT EXISTS (SELECT [Charged Amount]
FROM Load_Charges
WHERE Load_Charges_IMPORT.[Charged Amount] = Load_Charges.[Charged Amount]);
Run Code Online (Sandbox Code Playgroud)
您的EXISTS子句排除任何一个条件为TRUE的所有行,而不是所有条件都为TRUE的行.试试这个:
INSERT INTO Load_Charges
SELECT *
FROM Load_Charges_IMPORT
WHERE NOT EXISTS (
SELECT *
FROM Load_Charges
WHERE Load_Charges_IMPORT.[Load ID]=Load_Charges.[Load ID]
AND Load_Charges_IMPORT.[Charge Description]=Load_Charges.[Charge Description]
AND Load_Charges_IMPORT.[Charged Amount]=Load_Charges.[Charged Amount]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |