【问题标题】:Fill a field with the values from another field in MS Access用 MS Access 中另一个字段的值填充一个字段
【发布时间】:2019-06-12 08:57:20
【问题描述】:

我有一个表Customers,我想删除/删除字段FullName,并创建两个字段;分别是名字和姓氏。方便的是,FullName 中的名称仅由两部分组成(例如 John Smith、Robert Black)。我有符合 MS Access 标准的 SQL 代码,用于从下面的 FullName 字段中提取名字和姓氏。

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 中填写 FirstName 字段的尝试。

UPDATE Customers
SET Customers.FirstName =
(SELECT Mid(FullName, 1, InStr(FullName, ' ') - 1) )

当我尝试运行此代码时,我从 MS Access 收到的错误是“操作必须使用可更新查询”。

【问题讨论】:

    标签: sql database ms-access dml


    【解决方案1】:

    你可以试试下面-

    UPDATE Customers
    SET Customers.FirstName =Mid(FullName, 1, InStr(FullName, ' ') - 1)
    

    【讨论】:

      【解决方案2】:

      试试这个。不需要对相同的表列和别名使用子查询。

      UPDATE Customers
      SET  FirstName =Mid(FullName, 1, InStr(FullName, ' ') - 1) 
      

      【讨论】:

        【解决方案3】:

        不需要子查询:

        UPDATE 
            Customers
        SET 
            FirstName = Mid(FullName, 1, InStr(FullName, " ") - 1),
            LastName = Mid(FullName, InStr(FullName, " ") + 1),
            FullName = Null
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-05
          • 2016-12-22
          • 2022-09-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多