【问题标题】:SQL Join Issue return DISTINCT NamesSQL 连接问题返回 DISTINCT 名称
【发布时间】:2012-10-17 09:58:56
【问题描述】:

我有以下两个表,其中的数据如下:

Table Values
 var_label
 1
 2
 2
 1
 3

Table Codes
var_code
1
2
4
2

我需要加入这些表并获得不同的结果。 var_label 和 var_code 是相等的数据。我想要这样的连接输出:

 MyColumn
1
2
3
4

最好的方法是什么?

【问题讨论】:

    标签: sql sql-server tsql sql-server-2005 join


    【解决方案1】:

    像这样使用UNION而不使用ALL(隐式不同):

    SELECT var_label AS MyColumn
    FROM Values
    UNION
    SELECT var_code
    FROM Codes
    

    Live Demo

    【讨论】:

    • 哦是的,我忘记了
    • 这会创建 var_label 和 var_data 作为列名
    • @chris 在第一个 SELECT 中添加 alais 名称,就像在我的编辑中一样。
    • 我认为第二个查询也需要相同的名称?
    • @ArunKillu 它将取第一个SELECT 中的列名作为结果集的别名。
    【解决方案2】:
    SELECT var_label
    FROM Table1 as MyColumn
    UNION
    SELECT var_data as MyColumn
    FROM Table2
    

    您可以为只获取一个列名称提供别名。

    SQLFiddle DEMO

    【讨论】:

      【解决方案3】:

      选择不同的(var_label) 从表 1 联盟 选择不同的(var_data) FROM表2

      【讨论】:

      猜你喜欢
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-21
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多