sqlite中的SQL sqlite条件查询(适用于Android)

时间:2011-08-02 11:08:14

标签: android sql sqlite

您好我有一个包含该结构的表:

ID      VALUE
1         3
2         5
3        12

如果我从表中查询选择id,value,value + 5。那就是结果

ID      VALUE    NEW_VALUE
1         3         8
2         5         10
3        12         17

我想做一个查询,指出返回整个表的id和新值,但第3列表示插入后的新值。例如,对于myQuery(id = 2,value = 8)

ID      VALUE    NEW_VALUE
1         3         3
2         5         8
3        12         12

可以在同一个查询中执行此操作吗?

1 个答案:

答案 0 :(得分:2)

你可以使用WHERE子句只选择你想要的行("...if the student has the given id..."):

             update T
             set col3 = col2 + 5
             where id = 2

当然,在您更新之前必须存在 col3 。因此,您必须发出ALTER-TABLE语句(如果您的实现支持它)或重新创建具有所需列的表,导入原始数据(INSERT INTO YOURNEWTABLE ... SELECT ... from YOUROLDTABLE)然后更新col3。

如果您不想“保留”第三列,但只需要在查询时显示它:

            select id, col2, col2 + 5 as myComputedValue 
            from T
            where id = 2

最后,如果你想显示所有行但是有条件地改变 addend (当id不是你想要的那个时加0到col2,但是当它是5时加上5)那么你可以使用CASE语句。