Android内部连接查询问题| Sqlite查询问题
我有麻烦了,我在sqlite中有2个表,我想从他们那里得到这两个字段,但我没有得到任何东西。我在堆栈溢出方面做了很多尝试,但没有人适合我。。 我的问题是这样的-Android内部连接查询问题| Sqlite查询问题,android,sqlite,inner-join,Android,Sqlite,Inner Join,我有麻烦了,我在sqlite中有2个表,我想从他们那里得到这两个字段,但我没有得到任何东西。我在堆栈溢出方面做了很多尝试,但没有人适合我。。 我的问题是这样的- public List<HeadItemGroup> getAllExpense() { List<HeadItemGroup> expenseList = new ArrayList<HeadItemGroup>(); db = sqlHp.getRe
public List<HeadItemGroup> getAllExpense() {
List<HeadItemGroup> expenseList = new ArrayList<HeadItemGroup>();
db = sqlHp.getReadableDatabase();
String selectquery = "SELECT table_expense.item_id AS ID,table_item.item_id AS ID2,* FROM table_expense INNER JOIN table_item ON table_expense.item_id=table_item.item_id";
System.out.println("selectquery value..."+selectquery);
cursor = db.rawQuery(selectquery, null);
while (cursor.moveToNext()) {
HeadItemGroup record = new HeadItemGroup();
record.setExpId(cursor.getInt(cursor.getColumnIndex(EXPENCE_ID)));
record.setItemId(cursor.getInt(cursor.getColumnIndex(ITEM_ID)));
record.setHeadId(cursor.getInt(cursor.getColumnIndex(HEAD_ID)));
record.setDate(cursor.getString(cursor.getColumnIndex(EXPENCE_DATE)));
record.setPrice(cursor.getString(cursor.getColumnIndex(EXPENCE_PRICE)));
record.setLocationLat(cursor.getString(cursor.getColumnIndex(LOCATION_LAT)));
record.setLocationLon(cursor.getString(cursor.getColumnIndex(LOCATION_LON)));
record.setLocationName(cursor.getString(cursor.getColumnIndex(LOCATION_NAME)));
record.setCurrency(cursor.getString(cursor.getColumnIndex(CURRENCY_SYMBOL)));
record.setDescription(cursor.getString(cursor.getColumnIndex(DESCRIPTION)));
record.setItemName(cursor.getString(cursor.getColumnIndex(ITEM_NAME)));
record.setGroupId(cursor.getInt(cursor.getColumnIndex(GROUP_ID)));
expenseList.add(record);
System.out.println("total value value**************"+ cursor.getString(cursor.getColumnIndex(EXPENCE_PRICE)));
System.out.println("total value value**************"+ cursor.getString(cursor.getColumnIndex(ITEM_NAME)));
System.out.println("total value value**************"+ cursor.getString(cursor.getColumnIndex(GROUP_ID)));
}
return expenseList;
}
但我需要两个表中的所有数据。请帮助我…听起来您的表没有任何匹配的数据。如果他们这样做了,你需要在问题中添加一些示例数据以重复该问题。我有项目id。。。我手动检查了它。@JoachimIsaksson我还缺少什么吗?内部联接只返回两个表中都有匹配数据的行。左连接返回数据表明表之间没有公共项id。但是亲爱的,我在sqlite浏览器中使用相同的查询,它的返回所有字段。。
String selectquery="select exp_id as _id, * from table_expense d left outer join table_item u on ( d.item_id=u.item_id)";