gpt4 book ai didi

ms-access - MS Access 插入不重复

转载 作者:行者123 更新时间:2023-12-02 02:21:14 31 4
gpt4 key购买 nike

  1. MS Access 2003
  2. 表主(手机编号文本 255、名字文本 255、姓氏文本 255、地址文本 255)
  3. 表温度(手机编号文本 255、名字文本 255、姓氏文本 255、地址文本 255)
  4. 主目录有 100 条记录
  5. Temp 有 30 条记录
  6. 10 条记录同时属于这两个表。
  7. 我喜欢将那些不属于MobileNo上的主库的记录插入到temp中的main中。

实际上从 temp 导入记录,而在 Main 中没有重复的数据。

我在下面编写了一个查询

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]));*

正确吗?

最佳答案

INSERT INTO Statement 有 2 种形式在 Access SQL 中。带有 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;

如果 Temp 包含重复行,则添加 DISTINCT。如果我没有完全理解的话,您可能会发现无与伦比的查询向导有助于创建您的 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;

关于ms-access - MS Access 插入不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14393494/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com