Concat在一列中有两个SQL结果

时间:2014-02-18 16:42:21

标签: sql sql-server

我有下表“Custumer”:

Customer_ID     Customer_Name

01               John
02               Mary
03               Marco

我想从select:

返回以下结果
Query_Result

01
02
03
John
Mary
Marco

有可能吗?合并两个列?

3 个答案:

答案 0 :(得分:3)

一种方式(假设Customer_ID是字符类型)

SELECT 
   Customer_ID
FROM Customer

UNION ALL

SELECT 
   Customer_Name
FROM Customer

答案 1 :(得分:1)

尝试使用UNION ALL,以下内容适合您。

SELECT CONVERT(varchar(30), Customer_ID) FROM Customer
UNION ALL 
SELECT Customer_Name FROM Customer

答案 2 :(得分:1)

基本上,您有两种方法可以实现这一目标:

  1. 从每列中选择数据并使用UNION ALL合并结果。请注意确保每个选择的结果生成相同的数据类型。

  2. 取消透露表,如下例所示:

    SELECT AnyColumn
    FROM
    (SELECT Customer_ID, Customer_Name
        FROM Customer) p
    UNPIVOT
    (
        AnyColumn FOR Customer IN
        (Customer_ID, Customer_Name)
    ) AS unpvt;
    
  3. 就个人而言,我会质疑进行此类操作的必要性。如果您发现自己被迫这样做,我建议您重新考虑您的数据模型。