将特定列转换为SQL中的行

时间:2016-12-28 20:27:33

标签: sql-server-2008 tsql

我从表中选择PatientID,Location,LN,FN,ServiceCode1,ServiceDate1,ServiceCode2,ServiceDate2。我试图将每个服务和相应的日期列为自己的行。附图显示了我希望它以绿色突出显示的方式。我尝试过使用PIVOT功能,但没有运气。 ColumnToRow

1 个答案:

答案 0 :(得分:1)

借助交叉加入

Select  A.PatientID
       ,A.Location
       ,A.Last_Name
       ,A.First_Name
       ,B.*
 From  YourTable A
 Cross Join (
              Values ('Service_Code1',A.Service_Date1)
                    ,('Service_Code2',A.Service_Date2)
            ) B  (Service_Code,Service_Date)