大段引用表功课
sr_no homework_date homework
1 2019-02-01 essay
2 2019-02-03 some stuff
2 2019-02-06 some stuff
功课表
sr_no classwork_date classwork
1 2019-02-01 essay
1 2019-02-02 essay
2 2019-02-04 some stuff
2 2019-02-05 some stuff
结果会是这样的日期
2019-02-01
2019-02-02
2019-02-03
2019-02-04
2019-02-05
2019-02-06
你可以试试下面用左,右连接,并通过UNION合并两个数据集
select coalesce(classwork_date,homework_date) as date
from classwork left join homework on classwork_date=homework_date
union
select coalesce(classwork_date,homework_date)
from classwork right join homework on classwork_date=homework_date
尝试这个
SELECT
homework_date
FROM
homework
UNION SELECT
classwork_date
FROM
classwork
ORDER BY homework_date;
尝试这个
SELECT DISTINCT
homework_date
FROM
homework
UNION
SELECT DISTINCT
classwork_date
FROM
classwork
ORDER BY homework_date;
如果我理解正确的(和更多的单词解释您的问题将有可能帮助)你正在寻找的是从两个表中检索日期栏和日期显示它们的顺序。
一个典型的解决方案,以从两个或更多表中检索的数据是UNION
运算符。通过自身的UNION
运营商将无法完成任务,因为你也想按日期顺序结果。您可以添加ORDER BY
条款到最后SELECT
,使用第一个表字段名,因为UNION
会从附加表的列中的数据装入在初始结果集的正确的列(按规范顺序),所以你可以排序从第一选择列名,它会整理整个结果集。
UNION
并消除重复的结果,所以你不应该需要在你的选择查询的关键字DISTINCT
。