【问题标题】:SQL UNION result formatSQL UNION 结果格式
【发布时间】:2014-08-24 13:20:32
【问题描述】:

假设我有以下表格:

[表1]

DATE       |  VALUE
-----------|-------
10/10/2014 | 120.33
11/10/2014 | 234.02
12/10/2014 | 124.54
13/10/2014 | 545.67

[表2]

DATE       |  VALUE
-----------|-------
10/10/2014 | 345.35
11/10/2014 | 211.55
12/10/2014 | 643.90
13/10/2014 | 353.55

如何从两个表格中获取如下格式的值:

DATE       |  table1.VALUE |  table2.VALUE
-----------|---------------|---------------
10/10/2014 | 120.33        | 345.35
11/10/2014 | 234.02        | 211.55
12/10/2014 | 124.54        | 643.90
13/10/2014 | 545.67        | 353.55

我试图使用 UNION 并添加一个假的“null”列,但结果是一个表在另一个之上。 (MySql SELECT union for different columns?)

这可能吗?

【问题讨论】:

  • 在最简单的级别:UNION 的添加行。 JOIN 的添加列。在这种情况下,您要添加列,因此您应该加入。 (是的,我知道还有更多内容,但这将启动 OP。)

标签: sql union


【解决方案1】:

假设“Date”是两个表的唯一键,只需使用连接而不是联合......类似于:

select t1.Date, t1.value, t2.value
  from table1 t1 left join table2 t2 on t1.date=t2.date

【讨论】:

    【解决方案2】:

    假设您的日期列中的日期是唯一的,您应该加入日期列中的表而不是使用联合

    select a.date,a.value,b.value
    from table1 a 
    inner join table2 b on a.date = b.date
    

    连接类型由您决定...

    【讨论】:

      猜你喜欢
      • 2017-08-14
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 2014-06-02
      相关资源
      最近更新 更多