Android内部连接查询问题| Sqlite查询问题

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

我有麻烦了,我在sqlite中有2个表,我想从他们那里得到这两个字段,但我没有得到任何东西。我在堆栈溢出方面做了很多尝试,但没有人适合我。。 我的问题是这样的-

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)";