Загрузка данных


WITH files AS (
    SELECT
        mf.id AS file_id,
        mf.register_id,
        XMLPARSE(
            DOCUMENT convert_from(mf.bytes, 'UTF8')
        ) AS doc
    FROM dev.model_file_to_verification mf
    WHERE mf.id BETWEEN 8000 AND 8007
),
checked AS (
    SELECT
        f.file_id,
        sr.number::text AS register_number,
        (
            xpath('string(/Файл/@ВерсФорм)', f.doc)
        )[1]::text AS format_version,
        cardinality(
            xpath('/Файл/Документ/ЗапрСведПодтв', f.doc)
        ) AS request_count,
        (
            xpath(
                'string(/Файл/Документ/ЗапрСведПодтв/@НомерЗапр)',
                f.doc
            )
        )[1]::text AS xml_request_number
    FROM files f
    JOIN report.smev_register sr
        ON sr.id = f.register_id
)
SELECT
    file_id,
    register_number,
    format_version,
    request_count,
    xml_request_number,
    xml_request_number = register_number AS numbers_match
FROM checked
ORDER BY file_id;