我可以将多列的结果合并到一个没有UNION的列中吗?在SQL Server 2012中

时间:2016-06-25 05:16:03

标签: sql sql-server sql-server-2012

我想将2列输出合并为一列。

示例:

select 1 as id, 2 as exid 

当前输出:

id | exid 
1  |    2

但我希望输出如下:

id
 1
 2

如果我使用Concat函数,则输出如下所示:

id  
12 

我不希望这种类型的输出。

注意:我不想使用UNION功能。

2 个答案:

答案 0 :(得分:0)

Unpivot将帮助您实现您的目标

  success(response)
{
    $.each(response,function(index,item){
        var status;
        if(index >=0 and index <= 4)
    {
        if(item.statusCheck = 1)
        {
            status = <input type ="checked" checked/>
        }
        else{
            status =  <input type="checked" />
        }   
        var content = '<td>'+ status + '</td>'
                 +<td>' + item.fieldName +'<td>';
            $("#tableId").appent(content)
    }

  }
}

与使用union相比,它应该更快,因为它只会扫描一次而不是两次。

答案 1 :(得分:0)

另一种方法使用outer apply

select x.*
from t outer apply
     (values (id), (exid)) x(id);

但是,union all是一种非常合理的方法,所以我经常建议使用它。