Android中的SQliteDatabase查询构造问题

时间:2011-06-01 09:05:49

标签: android sqlite

我正在尝试在Android中的SQLite中构建查询。查询非常简单,如下所示:

SELECT    
        ifnull(object.icon_large, ifnull( object.image, item.IMG_DEF_COVER))   

FROM 
        object , item 
WHERE  
        object.id_item = 1 AND item.id_item = 1;

我尝试使用SQLiteDatabase.query(),但它只能用于一个表。有关如何使用 Android SQLiteDatabases查询语法组合查询或如何加入查询的任何建议?

提前致谢!!!

2 个答案:

答案 0 :(得分:2)

@fox你可以使用rawquery()而不是查询示例:

SQLiteDatabase mydatabase;
mydatabase.rawquery("select * from a, b where a.id=b.someid", null);

或者可以使用querybuilder的setTable()方法来指定连接示例

 builder.setTables(TABLEA+" LEFT JOIN "+TABLEB+" ON "+TABLEB+"."+KEY_ID+"="+TABLEA+"."+KEY_B_ID);

答案 1 :(得分:1)

SELECT    
    ifnull(object.icon_large, ifnull(object.image, item.IMG_DEF_COVER))   
FROM 
    object 
JOIN
    item
ON
    object.id_item = item.id_item
WHERE  
    object.id_item = 1;

SELECT syntax