В моем приложении у меня есть две таблицы: Операции и Категории.
Операционный стол
@Entity(tableName = "OperationsTable")
public class Operation
{
@PrimaryKey (autoGenerate = true)
private int OperationNumber;
private int Year;
private int Month;
private int Day;
private String Category;
private float Amount;
}
Таблица категорий
public class Category implements Serializable
{
@PrimaryKey(autoGenerate = true)
private int id;
@ColumnInfo(name = "CategoryName")
private String name;
@ColumnInfo(name = "CategoryType")
private String type;
@ColumnInfo(name = "IconID")
private int iconID;
}
До сих пор я делал запрос, который возвращал подмножество операций:
@Query("SELECT Category as CategoryName, SUM(Amount) as OperationQuantity FROM OperationsTable WHERE Year = :year AND KindOfOperation = 'Gasto' AND Month = :month GROUP BY Category ORDER BY SUM(Amount) DESC")
LiveData<List<OperationSubset>> getCategorizedExpensesInMonth(Integer year, Integer month);
Подмножество это:
public class OperationSubset
{
@ColumnInfo(name = "CategoryName")
public String name;
@ColumnInfo(name = "OperationQuantity")
public float quantity;
}
Теперь я хотел бы вернуть то же подмножество, но добавив поле из таблицы категорий:
public class OperationSubsetDesired
{
@ColumnInfo(name = "CategoryName")
public String name;
@ColumnInfo(name = "OperationQuantity")
public float quantity;
public float iconID <-- from Categories table
}
Я знаю, что должен использовать отношения, но я борюсь с этим.