2011-06-01 3 views
1

Je suis en train de construire une requête dans SQLite dans Android. La requête est très simple et ressemble à ceci:SQliteDatabase problème de construction de requête dans Android

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; 

J'ai essayé d'utiliser SQLiteDatabase.query(), mais il ne peut être utilisé que pour une seule table. Toutes les suggestions comment combiner des requêtes ou comment les joindre, en utilisant Android SQLiteDatabases requête syntaxe?

Merci d'avance !!!

Répondre

2

@fox vous pouvez utiliser rawquery() au lieu de l'exemple de requête:

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

ou peut utiliser la méthode setTable() de QueryBuilder pour spécifier le joint exemple

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

Merci beaucoup, ça marche !!! – fox

+0

bien. c'est mon plaisir – AD14

+0

@Arunmozhi vous répondez très bien Gardez le haut – Karthik

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

+0

Merci, mais ce n'est pas ce dont j'ai besoin. Je dois créer en utilisant la syntaxe de requête SQLiteDatabase Android. – fox

Questions connexes