複数の列に値を返す複雑な SQL があるため、出力を 1 つの行に返す必要があります。
select distinct TableA.ColumnA, d.name,
(CASE WHEN rel1.REL_TYPE = 'FG' THEN 'Y' ELSE 'N' END) AS FG
(CASE WHEN rel2.REL_TYPE = 'F1' THEN 'Y' ELSE 'N' END) AS F1,
(CASE WHEN rel3.REL_TYPE = 'F2' THEN 'Y' ELSE 'N' END) AS F2,
(CASE WHEN rel4.REL_TYPE = 'F3' THEN 'Y' ELSE 'N' END) AS F3
from TableA d
inner join TableB p on TableA.ColumnA = p.ColumnB
inner join TableC rel1 on TableA.ColumnA = rel1.ColumnC
inner join TableC rel2 on TableA.ColumnA = rel2.ColumnC
inner join TableC rel3 on TableA.ColumnA = rel3.ColumnC
inner join TableC rel14 on TableA.ColumnA = rel4.ColumnC
where d.language_id = -1 and TableA.ColumnA = 53635
and p.language_id = -1
order by 1
with ur;
出力には複数の行があり、単一の行に出力する必要があります
53635 Fitness Fleece, Jacket N N N N
53635 Fitness Fleece, Jacket N N N Y
53635 Fitness Fleece, Jacket Y N N N
53635 Fitness Fleece, Jacket Y N N Y
53635 Fitness Fleece, Jacket N Y N N
53635 Fitness Fleece, Jacket N Y N Y
53635 Fitness Fleece, Jacket Y Y N N
53635 Fitness Fleece, Jacket Y Y N Y
53635 Fitness Fleece, Jacket N N Y N
53635 Fitness Fleece, Jacket N N Y Y
53635 Fitness Fleece, Jacket Y N Y N
53635 Fitness Fleece, Jacket Y N Y Y
53635 Fitness Fleece, Jacket N Y Y N
53635 Fitness Fleece, Jacket N Y Y Y
53635 Fitness Fleece, Jacket Y Y Y N
53635 Fitness Fleece, Jacket Y Y Y Y
FG、F1、F2、および F3 の rel_type に対応して Y または N を表示する単一行の出力を探しています (rel_type は、MN、OG などの多くの rel_type で構成されます)。
53635 Fitness Fleece, Jacket Y Y Y N