Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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_Sql Server_Pivot - Fatal编程技术网

在SQL Server中内部联接后将行转换为列

在SQL Server中内部联接后将行转换为列,sql,sql-server,pivot,Sql,Sql Server,Pivot,在内部连接之后我得到了6行,相同的位置\u id,相同的位置\u名称,但图像值不同, 每个位置\u id有6个对应的图像 但我想将图像行转换为列(img1、img2、img3…img6) 因此,最终结果表将是[位置id、位置名称、img1、img2、img3、img4、img5、img6] 如何生成结果?假设您最多只有6张图像 select location_id, location_name, [1] as img1, [2] as img2, [3] as

内部连接之后
我得到了6行,相同的
位置\u id
,相同的
位置\u名称
,但图像值不同, 每个
位置\u id
有6个对应的图像

但我想将图像行转换为列(
img1、img2、img3…img6
) 因此,最终结果表将是
[位置id、位置名称、img1、img2、img3、img4、img5、img6]


如何生成结果?

假设您最多只有6张图像

select 
   location_id, location_name, 
   [1] as img1, 
   [2] as  img2, 
   [3] as  img3,  
   [4] as img4, 
   [5] as  img5, 
   [6] as img6
from
    (
     select 
        location_id, location_name,img_name, 
         row_number() over(partition by location_id order by img_name) rn 
     from innrjointbl
     )s
PIVOT
(MAX(img_name) for rn in ([1],[2],[3],[4],[5],[6])) p

StaskSQLFIDLE:< /强>

@ M7AIMED,谢谢你,谢谢你,但它甚至会更友善:-我刚刚把你推到了神奇的15个声望点上,请考虑看你的老问题,谢谢!