实际从temp中导入记录而没有重复数据。
我在
之后写了一个查询INSERT INTO main (mobileNo, FirstName, LastName, Address)
VALUES
(SELECT DISTINCT Temp.[MobileNo], Temp.[FirstName], temp.[LastName], Temp.[Address]
FROM Temp
WHERE NOT EXISTS (SELECT * FROM main WHERE Main.[MobileNo] = Temp.[MobileNo]));*
这是对的吗?
答案 0 :(得分:3)
Access SQL中有INSERT INTO Statement的两种形式。 VALUES
的那个用于插入单行。由于您要插入多行,请使用包含SELECT
子句的版本。
以SELECT
查询开头,该查询返回您要插入的Temp
行。我认为这应该很接近:
SELECT
Temp.MobileNo,
Temp.FirstName,
temp.LastName,
Temp.Address
FROM
Temp
LEFT JOIN main
ON Temp.MobileNo = main.MobileNo
WHERE main.MobileNo Is Null;
如果DISTINCT
包含重复的行,请添加Temp
。您可能会发现无法匹配的查询向导有助于创建SELECT
语句,如果我没有完全正确的话。
获得正确的SELECT
语句后,将其更改为INSERT
查询(Access用户界面称之为“追加”查询)。
INSERT INTO main
(
MobileNo,
FirstName,
LastName,
Address
)
SELECT
Temp.MobileNo,
Temp.FirstName,
temp.LastName,
Temp.Address
FROM
Temp
LEFT JOIN main
ON Temp.MobileNo = main.MobileNo
WHERE main.MobileNo Is Null;