我只有一个表“ Customers”,并且我要删除/删除“ FullName”字段并创建两个字段;名字和姓氏分别。方便的是,全名中的名称仅由两部分组成(例如John Smith,Robert Black)。我有符合MS Access的SQL代码,用于从下面的“全名”字段中提取名字和姓氏。
SELECT
Mid(FullName, 1, InStr(FullName, ' ') - 1)
AS FirstName,
Mid(FullName, InStr(FullName, ' ') + 1, Len(FullName))
AS LastName
FROM Customers
我想用FullName中的值填充FirstName和LastName,然后删除FullName。下面是我尝试在DDL中填写名字字段的信息。
UPDATE Customers
SET Customers.FirstName =
(SELECT Mid(FullName, 1, InStr(FullName, ' ') - 1) )
当我尝试运行此代码时,我从MS Access中收到的错误是“操作必须使用可更新的查询”。
答案 0 :(得分:1)
您可以在下面尝试-
UPDATE Customers
SET Customers.FirstName =Mid(FullName, 1, InStr(FullName, ' ') - 1)
答案 1 :(得分:1)
不需要子查询:
UPDATE
Customers
SET
FirstName = Mid(FullName, 1, InStr(FullName, " ") - 1),
LastName = Mid(FullName, InStr(FullName, " ") + 1),
FullName = Null
答案 2 :(得分:0)
尝试一下。无需对相同的表列和别名也使用子查询。
UPDATE Customers
SET FirstName =Mid(FullName, 1, InStr(FullName, ' ') - 1)