Эй, ребята, я сделаю это просто и покажу код таблицы / модели и запроса. Попытка получить дату, которая будет возвращена как unix отметка времени. В настоящее время запрос ничего не возвращает из базы данных.
См. Фрагменты кода ниже
TABLE CLASS
@Entity(tableName = "moodBeforeTable")
public class MoodBeforeTable {
@PrimaryKey(autoGenerate = true)
private long moodBeforePK;
@NonNull
@ColumnInfo(name = "userId")
private int userId;
@NonNull
@ColumnInfo(name = "moodBefore")
private int moodBefore;
@NonNull
@ColumnInfo(name = "workoutDate")
private String workoutDate;
@ColumnInfo(name = "cbtId")
private long cbtId;
POJO CLASS, используемый для JOINS
public class MoodStatsLineGraphModel {
private long day, dayAfter;
private int moodBefore;
private long userId;
private long cbtId;
private int moodAfter;
private String workoutDate;
**Constructors getters/setters not shown to save space**
}
DAO с запросом
@Dao
public interface MoodStatsLineGraphDao {
@Query("SELECT strftime ('%s',moodBeforeTable.workoutDate)AS 'day', strftime ('%s',moodAfterTable.workoutDate) AS 'dayAfter', moodBeforeTable.moodBefore, moodBeforeTable.userId, moodBeforeTable.workoutDate, moodBeforeTable.cbtId, moodAfterTable.moodAfter, moodAfterTable.workoutDate " +
"FROM moodBeforeTable " +
"LEFT JOIN moodAfterTable ON moodBeforeTable.cbtId = moodAfterTable.cbtId " +
"WHERE DATE(moodBeforeTable.workoutDate) >= datetime('now', '-1 month') " +
//"AND moodBeforeTable.userId = '$getId' " +
"OR moodBeforeTable.cbtId = NULL " +
"ORDER BY moodBeforeTable.workoutDate ASC")
LiveData<List<MoodStatsLineGraphModel>> getMoodStatsMonthly();