在Android使用Sqlite时,《Head First Android 开发》里就提到,一定要有"_id"列,一般平常建表都会把 _id 列建上,但是就不一定会读取出来。多次都没出错,所以没觉得这有啥重要的。直到有一次对多表进行联合查询时,麻烦才出现。
有2个表:
public static final String C_MONTHDETAIL = "create table monthdetail(_id integer primary key autoincrement," +
"sId integer," +
"mId integer," +
"mPrice float," +
"mDetail text)";
public static final String C_SHARENAME = "create table sharename(_id integer primary key autoincrement," +
"sName text," +
"sCode text)";
现在要读出mPrice和sName,这两个表sId和sharename的_id是一致的。
String rawsql="SELECT monthdetail.mPrice,monthdetail.mDetail,sharename.sName FROM monthdetail INNER JOIN sharename ON monthdetail.sId