【问题标题】:Get data from two table [closed]从两个表中获取数据[关闭]
【发布时间】:2013-08-06 09:21:43
【问题描述】:

我正在使用 sql server 2008。我想做这样的事情。 我有两张这样的桌子。

Table1

Id
1
2
3
4

Table2

Id
2
3
5
6

Output

1
2
3
4
5
6

【问题讨论】:

    标签: c# asp.net sql sql-server tsql


    【解决方案1】:

    UNION怎么样

    将两个或多个查询的结果组合成一个结果集 包括属于联合中所有查询的所有行。 UNION 操作不同于使用组合列的连接 来自两个表。

    联合所有

    将所有行合并到结果中。这包括重复项。如果 未指定,删除重复行。

    SELECT Id
    FROM Table1
    UNION
    SELECT Id
    FROM Table2
    

    看看下面的演示,它还将向您展示UNIONUNION ALL之间的区别

    SQL Fiddle DEMO

    【讨论】:

    • 添加一个注释,union 将过滤掉重复项,而 union all 不会。
    • @Andomar,我添加了一个 SQL Fiddle DEMO 展示 UNION 和 UNION ALL 之间的区别
    • 我不知道为什么没有选择这个答案..
    • @SonerGönül 另一个答案看起来更令人印象深刻? X-)
    【解决方案2】:

    如果您有超过 1 列,也可以使用此方法

    SELECT coalesce(t1.ID, t2.ID) [Output]
    FROM TABLE1 t1
    FULL JOIN
    TABLE2 t2 ON
    t1.id = t2.id
    ORDER BY [Output]
    

    【讨论】:

      【解决方案3】:

      我想你在找UNION (Transact-SQL)

      将两个或多个查询的结果组合成一个结果集 包括属于联合中所有查询的所有行。 UNION 操作不同于使用组合列的连接 来自两个表。

      SELECT Id
      FROM Table1
      
      UNION
      
      SELECT Id
      FROM Table2
      

      提示UNION 会删除所有重复记录,UNION ALL 不会。

      这里是DEMO

      | ID |
      ------
      |  1 |
      |  2 |
      |  3 |
      |  4 |
      |  5 |
      |  6 |
      

      【讨论】:

        【解决方案4】:

        你可以使用联合来实现它,请参考下面的链接

        http://www.w3schools.com/sql/sql_union.asp
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-07-27
          • 2012-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多