1

我遇到了麻烦,我在 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;
        }

当我尝试使用同一张表进行左外连接时,它的工作..

String selectquery="select exp_id as _id, * from table_expense d left outer join table_item  u on ( d.item_id=u.item_id)";

但我需要两个表中的所有数据。请帮我...

4

0 回答 0