【问题标题】:SQL Join or Union?SQL 连接还是联合?
【发布时间】:2013-02-20 16:18:50
【问题描述】:

我有两张桌子:

Customer    Time    Program
-----------------------------------
1           8:05    a
2           9:38    b
3           10:45   c
4           12:00   a

Customer    Time    Program
-----------------------------------
1           11:30   d
5           1:45    e
6           9:45    f
7           2:15    g

我希望我的桌子看起来像:

Customer    Time    Program
-----------------------------------
1           8:05    a
1           11:30   d
2           9:38    b
3           10:45   c
4           12:00   a
5           1:45    e
6           9:45    f
7           2:15    g

这真的很简单,但是我的时间列在每个表中都有不同的名称,每个表都有不同的程序集,所以两个表中都没有程序 ID。

【问题讨论】:

  • 那是UNIONtime 列是否具有不同的名称无关紧要。
  • 这很简单。你试过什么?
  • 我知道这很简单,我都尝试了。这个数据库又大又复杂,我不知道哪个数据库工作正常,所以我想仔细检查一下!谢谢!

标签: sql join union


【解决方案1】:

听起来你想要一个 UNION。 UNION 连接两个表的行,保留列; JOIN 将两个不同表的列关联成行。

您可以重命名 SELECT 中的列,从而形成联合:

SELECT Customer, FirstTime AS Time, Program FROM Table1 UNION ALL SELECT Customer, SecondTime AS Time, Program FROM Table2

【讨论】:

    【解决方案2】:

    UNION 它们并使用 AS 通过两个表之间匹配的名称来调用列

    【讨论】:

      【解决方案3】:

      使用union all:

      [上传代码问题]

      select customer, time, program from table1
      union all
      
      select customer, time, program from table2
      

      union 添加了额外的处理来删除重复项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多