【问题标题】:Mysql select from 2 different tables and merge resultMysql从2个不同的表中选择并合并结果
【发布时间】:2013-11-28 20:08:39
【问题描述】:

我想向您寻求有关 mysql 的帮助。我想合并 2 个具有日期列的完全不同的表。表格看起来像这样:

表 1:

NAMECOLUMN   |      DATECOLUMN
------------------------------
itemname1    |      2013-01-01
itemname2    |      2013-02-02
itemname3    |      2012-04-01

Tab2:

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

谢谢你给我指路:)

【问题讨论】:

  • 您如何查看两个表中 DATECOLUMN 中日期相似的记录的结果记录?

标签: mysql join merge


【解决方案1】:

试试这个:

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

【讨论】:

  • 善用 union +1 我也发布了同样的内容,但有点晚了:)
  • 亲爱的 Filipe,我更新了 sqlfiddle,我还有第三张表(我之前没有提到过 :))你能请。帮我完成它? :) sqlfiddle.com/#!2/3feab/1/0
  • @FredericoRossini。这第三个表具有不同的结构。你想如何将它与其他表关联起来?
  • tab1 应该指向那个tab3,也就是说tab1.TAB3ID = tab3.ID
  • 所以你想要 tab3.category 并在这些列中输入来自 tab1 的行和 null 的 tab2?
【解决方案2】:

你可以试试:

SELECT namecolumn, othercolumn, t2.datecolumn
FROM Tab1 t1, Tab2 t2;

?

【讨论】:

    【解决方案3】:

    选择 null 作为 OTHERCOLUMN,NAMECOLUMN ,DATECOLUMN FROM Tab1

    联合

    select OTHERCOLUMN,null as NAMECOLUMN,DATECOLUMN FROM Tab2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-05
      • 2018-05-07
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-06
      相关资源
      最近更新 更多