2015-12-09 2 views
2

После INNER JOIN я получаю 6 строк, то же location_id, одинаковые location_name, но различные образы ценности, каждый location_id имеет 6 соответствующие изображения, as this imageПреобразование строк в столбцы после внутреннего соединения в SQL Server

Но я хочу, чтобы преобразовать строки изображения (img1, img2, img3 ... img6) , поэтому итоговый результат будет [location_id, location_name, img1, img2, img3, img4, img5, img6]

Как я могу построить результат?

ответ

4

Если у вас есть максимум 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 

Пример SQL скрипку:http://sqlfiddle.com/#!3/e89d94/2

+0

@ Mo7ammed, это очень мило с вашей стороны, чтобы сказать * спасибо *, но это было бы еще добрее [посмотреть здесь] (http://stackoverflow.com/help/someone-answers) :-) Я просто подтолкнул вас через магические 15 очков репутации и, пожалуйста, подумайте над своими старыми вопросами, THX! – Shnugo

Смежные вопросы