Mysql从2个不同的表中选择并合并结果

标签 mysql join merge

我想向您寻求有关 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

sqlfiddle demo

编辑:

根据您的新表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;

sqlfiddle demo

关于Mysql从2个不同的表中选择并合并结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000963/

相关文章:

java - 数据库连接: protocoling data for hundereds to million objects

php - 使用 AJAX 更改面板标题文本

MYsql只选择每条记录的列上具有最大值的行

mongodb - 比较两个 MongoDB 集合之间的文档

visual-studio - 断开 TFS 中各个文件的分支链接

eclipse - 我可以在 Eclipse "Team Synchronization"透视图中使用外部差异/合并工具吗?

mysql - 信用评分应该加密吗?

mysql - 选择具有自定义列和其他列值的查询

mysql - 连接存在引用的表

使用非标准布局的 Git-svn 迁移不显示 merge