【问题标题】:SQLite query for combining where, oder by and union all用于组合 where、order by 和 union all 的 SQLite 查询
【发布时间】:2020-03-18 09:58:06
【问题描述】:

我有这两个表,如 SQLite 数据库中所示。 我正在开发安卓工作室。

主表

TASK         TIME    DATE
GO TO GYM.   12:30   18-3-2020
CALL MOM.    13:40   18-3-2020
MEETING.     20:20   19-3-2020

表例程

TASK         TIME   
DINNER       14:30   
KEY          18:40   

我需要这样的结果:我得到 2 列 TASK TIME 所以我使用了联合所有。

按我使用时间列的顺序

TASK.        TIME   
GO TO GYM.   12:30   
CALL MOM.    13:40   
DINNER       14:30   
KEY          18:40   

查询:

SELECT Task
     , Time 
  FROM TableMain 
 UNION ALL 
SELECT Task
     , Time 
  FROM TableRoutine 
 Where Tablemain.Date = "18-3-2020" 
 Order 
    By Time

我只需要 2020 年 3 月 18 日的任务 但它不起作用。 因为我没有在 SELECT 语句中取 Date 列,所以会产生错误。

那我该怎么办?

【问题讨论】:

  • 如果您只想要 .Date = "18-3-2020" 的记录,那么您将如何从 TableRoutine 中进行选择? TableRoutine 不包含日期列
  • "18-3-2020" 似乎不是 SQLite 的正确日期文字。请改用'2020-03-18'
  • 是的。你是对的。你明白我的问题。但是现在我应该在 TableMain 任务中写下提供的日期和 TableRoutine 的所有任务。
  • 我根据我的要求将日期存储为字符串

标签: android sql sqlite


【解决方案1】:

你需要将上面的 where 子句转移:

SELECT Task
     , Time 
FROM TableMain
Where Tablemain.Date = '18-3-2020'  
UNION ALL 
SELECT Task
 , Time 
FROM TableRoutine 
Order By Time

【讨论】:

    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    相关资源
    最近更新 更多