我正在尝试在两个表中显示最新条目,但按日期排序。 我不知道如何在这里展示表格,所以请与我合作......
现在我有
SELECT * FROM `doctrine_pubs` WHERE `status` = 'ACTIVE' ORDER BY `date` DESC
我也有
SELECT * FROM `doctrine_terms` ORDER BY `date` DESC
我想将这两者结合起来,但我不希望从一个表中显示结果,然后从另一个表中显示结果,而是希望它们组合在一起并按日期排序。
这是可能的,还是我必须创建一个表来获得这个结果?
编辑,这是表......我真的不知道如何格式化这些。
表doctrine_terms
term_id | display | acronym| definition | reference | symbol | date | changeType
---------------------------------------------------------------------------------------------
698 | some term | ABC | a bunch of text | Book6 | NA | 1484136000 | NEW
表doctrine_pubs
pub_id | number | title | date | status | link
----------------------------------------------------------------------------
123 | Book6 | some string here| 1484168496 | ACTIVE | www.example.com
答案 0 :(得分:1)
你使用UNION 如果两个表具有相同的列(数字和类型),您可以使用*否则您必须明确选择样本中的命名列 (记住数字和类型必须匹配两个选择并使用union all如果你需要所有结果...如果你需要不同的结果联合)
select t1.date, t1.col1, t1.col2, t1.col3
FROM `doctrine_pubs` as t1
WHERE `status` = 'ACTIVE'
UNION ALL
select t2.date, t2.col1, t2.col2, t2.col3
FROM `doctrine_terms` as t2
ORDER BY `date` DESC