如何使用SQL查询更新另一个表中的下拉列表字段
嘿,伙计们,在我的access数据库中,我有两个标记为“联系人”和“状态列表”的表。如何使用SQL查询更新另一个表中的下拉列表字段,sql,ms-access,Sql,Ms Access,嘿,伙计们,在我的access数据库中,我有两个标记为“联系人”和“状态列表”的表。状态列表由一列和四行组成,标记为: 状态描述可疑潜在查询申请人 联系人包括以下内容: 第一封最后一封电子邮件状态电话 Contacts中的Status字段是一个下拉框,从StatusList表中提供信息。Contacts表中的每一行最初都设置为可疑 联系人中的电子邮件字段设置为仅允许唯一电子邮件 我有一个名为ExcelImport的表,它的字段与Contacts表相同 最后,我想将ExcelImport表中的数据
状态列表由一列和四行组成,标记为: 状态描述
可疑
潜在
查询
申请人 联系人包括以下内容: 第一封最后一封电子邮件状态电话 Contacts中的Status字段是一个下拉框,从StatusList表中提供信息。Contacts表中的每一行最初都设置为可疑 联系人中的电子邮件字段设置为仅允许唯一电子邮件 我有一个名为ExcelImport的表,它的字段与Contacts表相同 最后,我想将ExcelImport表中的数据插入Contacts。如果ExcelImport和Contacts之间存在电子邮件匹配,我希望状态字段的Contacts中的行从可疑更新为潜在客户 到目前为止,我有:
SELECT Contacts.contactEmail
FROM Contacts
Inner Join ExcelImport on Contacts.contactEmail = ExcelImport.contactEmail;
我知道这只会显示匹配的电子邮件。是否有任何方法更新与潜在客户匹配的特定行的状态列表?如前所述,只需使用
更新
操作查询更改值,下拉列表将相应更改。如果我理解您的话,这个下拉列表只是一个查找组合框,您可以在表设计中设置它。它只是帮助控制输入的值。UPDATE
查询将随着表的值更改而更改下拉列表:
UPDATE Contacts INNER JOIN ExcelImport
ON Contacts.contactEmail = ExcelImport.contactEmail
SET Contacts.[Status] = 'Prospect';
此外,您提到我想将数据从我的ExcelImport表插入联系人,您可以通过运行NOT EXISTS
append查询中的子句
INSERT INTO Contacts ([First], [Last], [Email]], [Status], [Phone])
SELECT e.[First], e.[Last], e.[Email]], e.[Status], e.[Phone]
FROM ExcelImport e
WHERE NOT EXISTS
(SELECT 1 FROM Contacts c WHERE c.[Email] = e.[Email])
因此,运行两个操作查询以导入唯一的电子邮件,对于重复的电子邮件,请更新状态。您需要使用更新“查询”,而不是选择查询。此外,StatusList表用于填充下拉列表这一事实似乎无关紧要,因为实际问题是如何使用匹配的电子邮件字段从另一个表更新一个表。