-- Расширенный вариант: возвращает все данные полиса + флаги валидности -- Аналогичен основному запросу, но с дополнительными флагами для детальной проверки SELECT *, -- Флаг валидности тарифа CASE WHEN tariff_code_basic IN ('STB0048', 'STB1099', 'STB1100', 'STB2099', 'AVS21500', 'AVS22500') OR tariff_code_other IN ( 'SPV0001', 'SPV0002', 'SPV0003', 'SPV0004', 'SPV0005', 'STV0090', 'SPV1001', 'SPV1002', 'SPV1003', 'SPV1004', 'SPV1005', 'SPV2001', 'SPV2002', 'SPV2004', 'SPV2005', 'OPV1001', 'OPV1002', 'OPV1003', 'OPV1004', 'OPV1005', 'OPV2001', 'OPV2002', 'OPV2004', 'OPV2005' ) THEN 1 ELSE 0 END AS is_valid_tariff, -- Общий флаг: найден и валиден (основной для IF Node) CASE WHEN tariff_code_basic IN ('STB0048', 'STB1099', 'STB1100', 'STB2099', 'AVS21500', 'AVS22500') OR tariff_code_other IN ( 'SPV0001', 'SPV0002', 'SPV0003', 'SPV0004', 'SPV0005', 'STV0090', 'SPV1001', 'SPV1002', 'SPV1003', 'SPV1004', 'SPV1005', 'SPV2001', 'SPV2002', 'SPV2004', 'SPV2005', 'OPV1001', 'OPV1002', 'OPV1003', 'OPV1004', 'OPV1005', 'OPV2001', 'OPV2002', 'OPV2004', 'OPV2005' ) THEN 1 ELSE 0 END AS found FROM lexrpiority WHERE voucher = :voucher LIMIT 1;