使用同一列中的值更改列中的值

时间:2014-12-09 14:24:49

标签: sql database ms-access

是否可以在访问中从给定列中选择一条记录,并使用您选择的记录更新该列?

例如:

----column----
    test




---------------

变为

-----Column------
      test
      test
      test
      test
-------------------

注意第一个表中的空白,以及第二个表中的空格是如何用第一行中的值填充的。有没有办法做到这一点,而不必具体说“更新到测试”?我不知道如何在不告诉Access它需要专门更新空白以“测试”的情况下如何做到这一点。

2 个答案:

答案 0 :(得分:0)

假设你有:

  • 一张表MY_TABLE
  • 列COL_1
  • 多个记录,其中只有一个记录为COL_1
  • 保存值(非空)

使用非空值填充COL_1的更新语句:

update MY_TABLE
   set COL_1 = (select COL_1 FROM MY_TABLE where COL_1 is not null)
 where COL_1 IS NULL;

答案 1 :(得分:0)

这将做你想要的:

    UPDATE Table1, (SELECT TOP 1 Field1 As F FROM Table1 WHERE Field1 Is Not Null)
    SET Field1 = F
    WHERE Field1 Is Null

它可以安全地处理几个特殊情况:

  • 如果Fleld1中有多个行有值,则使用第一行中的值。
  • 表格的第一行不需要在Field1中有值。
  • 如果没有任何行在Field1中具有值,则不会发生任何错误。

在:

    Field1  Field2  
            apple 
    pet     cat    
            dog    
    color   red    
            blue     

后:

    Field1  Field2  
    pet     apple 
    pet     cat    
    pet     dog    
    color   red    
    pet     blue