j'ai une instruction de requête avec un LEFT JOIN
dans mon ContentProvider
mal cursor.getColumnIndex recalibrée sur LEFT JOIN requête
la table gauche messages et il a une colonne post_id, la bonne table est des marquages qu'il il a une colonne post_id ainsi et je fais posts left join taggings on posts.post_id=taggings.post_id
lors de l'interrogation du ContentProvider
, s'il n'y a pas de ligne correspondante dans la table des marquages, pour une raison quelconque la valeur renvoyée par cursor.getColumnIndex("post_id")
est erronée et la valeur int de l'identifiant est toujours 0.
s'il y a rangée de marqueurs dans les marquages, tout fonctionne comme prévu.
Que manque-t-il ici?
requête ContentProvider:
case POSTS:
qb.setTables(MetaData.TABLE_POSTS
+ " LEFT JOIN " + MetaData.TABLE_TAGGINGS + " ON "
+ MetaData.TABLE_POSTS + "." + MetaData.COLUMN_POST_ID
+ "=" + MetaData.TABLE_TAGGINGS + "." + MetaData.COLUMN_POST_ID
);
break;
instruction de requête du curseur:
Cursor cursor = context.getContentResolver().query(MetaData.POSTS_URI,
null, null,
null, MetaData.TABLE_POSTS + "." + MetaData.COLUMN_POST_ID + " DESC");