选择查询后更改值

时间:2018-06-25 14:30:12

标签: sql ms-access

大家好,我遇到了麻烦,我似乎找不到适合我问题的答案。

我正在使用Microsoft Access并运行Select查询。然后,我要做的就是更改此查询的列中的值。

例如

SELECT Table.column1, Table.Column2 
FROM Table

我得到以下信息:

|Column1|Column2|
    A       1
    B       2
    C       3
    D       2
    E       1
    F       2
    G       3
    H       3
    I       1
    J       2
    K       2

我想要它,以便查询现在将column2中的所有1替换为100,将column2中的所有2替换为200,并将column2中的所有3替换为300。

我不想做的是更新原始表中column2中的值,我只想在查询中更改这些值。

4 个答案:

答案 0 :(得分:1)

如果您的column2数据仅为1、2和3,则可以multiply乘以100

SELECT Table.column1
     , Table.Column2 * 100 as Column2 
FROM Table

如果您的数据包含1,2和3以外的其他值,则可以使用IIF

SELECT Table.column1
     , IIF(Table.Column2 in (1,2,3),Table.Column2 * 100, Table.Column2) as Column2 
FROM Table

答案 1 :(得分:0)

您可以在所选查询中进行计算,例如:

SELECT Table.column1, Table.Column2 * 100 As Column2
FROM Table

这将显示Column2的值乘以100,但不会修改基础表。

您不能仅在查询中修改特定行。如果要修改特定的行,则可以只复制表,或使用生成表查询将查询结果插入表中,然后修改该表。

答案 2 :(得分:0)

带有IIF()的其他选项:

select Col1, iif ( Col2 = 1, 100, 
                   iif ( Col2 = 2, 200, 
                         iif ( Col2 = 3, 300,  col2 ) 
                       ) 
                 ) as col2
from table t;

答案 3 :(得分:0)

使用switch()函数:

select column1, 
       switch(column2 = 1, 100,
              column2 = 2, 200,
              column2 = 3, 300,
              column2
             ) as new_column2
from t;