自分が考えたもの

select
     CASE 
        WHEN x.record_no = knd.record_no 
            THEN true 
        ELSE false 
        END AS is_included_kibata_nyuka 
from
    karimaki_plan as x 
    LEFT JOIN LATERAL ( 
        SELECT DISTINCT
            (x.record_no) AS record_no 
        FROM
            karimaki_plan as x 
            INNER JOIN LATERAL ( 
                SELECT
                    record_no
                    , record_no2
                    , record_no3
                    , record_no4
                    , record_no5
                    , record_no6
                    , record_no7
                    , record_no8
                    , record_no9
                    , record_no10
                    , record_no11
                    , record_no12
                    , record_no13
                    , record_no14
                    , record_no15 
                FROM
                    kibata_nyuka_denpyo 
                WHERE
                    record_no <> 0 
                    OR record_no2 <> 0 
                    OR record_no3 <> 0 
                    OR record_no4 <> 0 
                    OR record_no5 <> 0 
                    OR record_no6 <> 0 
                    OR record_no7 <> 0 
                    OR record_no8 <> 0 
                    OR record_no9 <> 0 
                    OR record_no10 <> 0 
                    OR record_no11 <> 0 
                    OR record_no12 <> 0 
                    OR record_no13 <> 0 
                    OR record_no14 <> 0 
                    OR record_no15 <> 0 
                ORDER BY
                    record_no ASC
            ) AS knd 
                ON x.record_no = knd.record_no 
                OR x.record_no = knd.record_no2 
                OR x.record_no = knd.record_no3 
                OR x.record_no = knd.record_no4 
                OR x.record_no = knd.record_no5 
                OR x.record_no = knd.record_no6 
                OR x.record_no = knd.record_no7 
                OR x.record_no = knd.record_no8 
                OR x.record_no = knd.record_no9 
                OR x.record_no = knd.record_no10 
                OR x.record_no = knd.record_no11 
                OR x.record_no = knd.record_no12 
                OR x.record_no = knd.record_no13 
                OR x.record_no = knd.record_no14 
                OR x.record_no = knd.record_no15 
        WHERE
            x.record_no <> 0 
        ORDER BY
            x.record_no
    ) AS knd 
        ON knd.record_no = x.record_no

【問題点】

一回一回ORで条件の判定を行っていくので実行速度が死ぬほど遅い。

飯坂さんが修正したもの

select
     EXISTS ( 
        SELECT
            knd.record_no AS record_no
            , knd.record_no AS record_no1
            , knd.record_no2 AS record_no2
            , knd.record_no3 AS record_no3
            , knd.record_no4 AS record_no4
            , knd.record_no5 AS record_no5
            , knd.record_no6 AS record_no6
            , knd.record_no7 AS record_no7
            , knd.record_no8 AS record_no8
            , knd.record_no9 AS record_no9
            , knd.record_no10 AS record_no10
            , knd.record_no11 AS record_no11
            , knd.record_no12 AS record_no12
            , knd.record_no13 AS record_no13
            , knd.record_no14 AS record_no14
            , knd.record_no15 AS record_no15 
        FROM
            kibata_nyuka_denpyo AS knd 
        WHERE
            ARRAY [
        knd.record_no
        , knd.record_no2
        , knd.record_no3
        , knd.record_no4
        , knd.record_no5
        , knd.record_no6
        , knd.record_no7
        , knd.record_no8
        , knd.record_no9
        , knd.record_no10
        , knd.record_no11
        , knd.record_no12
        , knd.record_no13
        , knd.record_no14
        , knd.record_no15
        ]
             @> ARRAY [x.record_no] 
            AND x.record_no <> 0
    ) AS is_included_kibata_nyuka 
from
    karimaki_plan as x 

ポイント

参考