大家好,我遇到了麻烦,我似乎找不到适合我问题的答案。
我正在使用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中的值,我只想在查询中更改这些值。
答案 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;