아래와 같은 테이블에서 피벗을 실행하려고합니다.동일한 값을 반환하는 SQL 피벗
Item Barcode Primary
Test1 111111 Y
Test1 222222 N
Test1 333333 N
Test1 444444 N
Test2 999999 Y
Test2 888888 N
Test2 777777 N
Test2 666666 N
다음과 같은 표를 만들려고합니다. 아래의 쿼리를 사용하여 (열 당 하나의 바코드)
Item Primary Sec1 Sec2 Sec3
Test1 111111 222222 333333 444444
Test2 999999 888888 777777 666666
는 내가 차 열과 첫 번째 보조 열을 채울 수 있습니다,하지만 난 자신의 열까지 다른 보조 코드를 가져올 수있는 방법을 찾을 수 없습니다. 대신 아래의 첫 번째 보조 바코드를 반복합니다.
Item Primary Barcode Secondary 1 Secondary3
Test1 111111 222222 222222
Test2 999999 888888 888888
select item, [Y] as 'Primary', [N] as 'Sec1', [N] as 'Sec2'
from
(
select ics.itemcoloursize_id as item, sc.sellcode_code as code, sc.primary_ind as ind
from sellcode sc
left join itemcoloursize ics on ics.itemcoloursize_id = sc.itemcoloursize_id
where ics.itemcoloursize_id in
(
's+0015p00fhb'
)
) as Barcodes
PIVOT
(
max(code)
for ind in ([Y],[N])
)
as PVT
어떤 도움을 주시면 감사하겠습니다.
222222가 Sec2가 아니라 어떻게 Sec1이어야하는지 어떻게 알 수 있습니까? 행을 정렬하는 다른 열이 있습니까? – DancingFool
primary_ind = 'N'인 모든 바코드는 자체 열에 Sec1-x로 나타나야합니다. 이것들의 순서는 중요하지 않습니다. – Roger123