Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server中不使用联合的列到行_Sql Server - Fatal编程技术网

Sql server 在SQL Server中不使用联合的列到行

Sql server 在SQL Server中不使用联合的列到行,sql-server,Sql Server,我希望输出为 create table #temp (tempid int, tempname nvarchar(50), option1 nvarchar(50), option2 nvarchar(50), option3 nvarchar(50) ) insert into #temp (tempid, tempname, option1, option2, option3) values (1, 'YesNoCancel', 'Yes', 'No', 'Cancel')

我希望输出为

create table #temp 
(tempid int, 
 tempname nvarchar(50), 
 option1 nvarchar(50),
 option2 nvarchar(50),
 option3 nvarchar(50)
)

insert into #temp (tempid, tempname, option1, option2, option3) 
values (1, 'YesNoCancel', 'Yes', 'No', 'Cancel')
像这样试试

         tempid tempname       options
          1    'YesNOCancel'   'yes'
          1    'YesNOCancel'   'no'
          1    'YesNOCancel'   'cancel'

这将真正帮助您:

SELECT t.*
FROM temp
OUTER APPLY 
(
    VALUES 
        (tempid, tempname, option1),
        (tempid, tempname, option2),
        (tempid, tempname, option3)

) t(tempid, tempname, option1)
试试这个

 SELECT t.tempid,
      x.tempname,
      x.option1  
    FROM #temp t
    CROSS APPLY 
    (
        VALUES 
            (tempid, tempname, option1),
            (tempid, tempname, option2),
            (tempid, tempname, option3)
    ) x (tempid, tempname, option1)

谢谢vignesh它帮助了。。。再次感谢你的帮助。
Select tempid,tempname,OptionVal
From #temp 
UNPIVOT (OptionVal FOR Options IN (option1, option2, option3) ) AS T