SELECT
作業票番号,
COALESCE(PVT.[1],null) '作業1',
COALESCE(PVT.[2],null) '作業2',
COALESCE(PVT.[3],null) '作業3',
COALESCE(PVT.[4],null) '作業4',
COALESCE(PVT.[5],null) '作業5'
FROM
(
SELECT
ROW_NUMBER() OVER(PARTITION BY VT.作業票番号 ORDER BY VD.作業場所) NUM,
VT.作業票番号 AS 作業票番号,
VD.作業場所 AS 作業場所
FROM
VTプロダクションコントロール AS VT
INNER JOIN (
SELECT
VT工程.作業票番号,
VT工程.作業場所
FROM
VTプロダクションコントロール工程 AS VT工程
WHERE EXISTS (SELECT 作業票番号
FROM VTプロダクションコントロール工程
WHERE VT工程.作業票番号=VTプロダクションコントロール工程.作業票番号
AND 作業場所 IN('24'))
) AS VD
ON VT.作業票番号=VD.作業票番号
) AS V作業場所
PIVOT(MIN(作業場所) FOR NUM IN ([1], [2], [3], [4], [5])) AS PVT
作業票番号,
COALESCE(PVT.[1],null) '作業1',
COALESCE(PVT.[2],null) '作業2',
COALESCE(PVT.[3],null) '作業3',
COALESCE(PVT.[4],null) '作業4',
COALESCE(PVT.[5],null) '作業5'
FROM
(
SELECT
ROW_NUMBER() OVER(PARTITION BY VT.作業票番号 ORDER BY VD.作業場所) NUM,
VT.作業票番号 AS 作業票番号,
VD.作業場所 AS 作業場所
FROM
VTプロダクションコントロール AS VT
INNER JOIN (
SELECT
VT工程.作業票番号,
VT工程.作業場所
FROM
VTプロダクションコントロール工程 AS VT工程
WHERE EXISTS (SELECT 作業票番号
FROM VTプロダクションコントロール工程
WHERE VT工程.作業票番号=VTプロダクションコントロール工程.作業票番号
AND 作業場所 IN('24'))
) AS VD
ON VT.作業票番号=VD.作業票番号
) AS V作業場所
PIVOT(MIN(作業場所) FOR NUM IN ([1], [2], [3], [4], [5])) AS PVT