我想向您寻求有关 mysql 的帮助。我想合并两个完全不同的具有日期列的表。表格看起来像这样:
选项卡1:
NAMECOLUMN | DATECOLUMN
------------------------------
itemname1 | 2013-01-01
itemname2 | 2013-02-02
itemname3 | 2012-04-01
选项卡2:
OTHERCOLUMN | DATECOLUMN
------------------------------
xyz | 2013-01-31
abcd | 2013-01-02
efgh | 2012-03-01
我希望结果按时间排序:
OTHERCOLUMN | NAMECOLUMN DATECOLUMN
---------------------------------------------
(null) | itemname1 2013-01-01
xyz | (null) 2013-01-31
abcd | (null) 2013-01-02
(null) | itemname2 2013-02-02
efgh | (null) 2012-03-01
(null) | itemname3 2012-04-01
谢谢你给我指路:)
最佳答案
试试这个:
SELECT *
FROM (
SELECT NULL AS othercolumn, NAMECOLUMN, datecolumn
FROM tab1
UNION
SELECT otherColumn, NULL, dateColumn
FROM tab2
) a
ORDER BY datecolumn
编辑:
根据您的新表3,您可以执行以下操作:
SELECT *
FROM (
SELECT NULL as otherColumn, t1.NAMECOLUMN, t3.category,t3.type, t1.datecolumn
FROM tab1 t1
INNER JOIN tab3 t3 ON t1.tab3id = t3.id
UNION
SELECT otherColumn, NULL,NULL,NULL, dateColumn
FROM tab2
) a
ORDER BY datecolumn;
关于Mysql从2个不同的表中选择并合并结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000963/