semillero-INVIMA/benchmarks/queries/query_06.sql

72 lines
1.5 KiB
SQL

WITH matched AS MATERIALIZED (
SELECT
source_dataset_key,
source_uid,
source_dataset_id,
source_dataset_name,
categoria_linea,
categoria_canonica,
categoria_slug,
expediente,
registro_sanitario,
producto,
titular,
estado_registro,
fecha_expedicion,
fecha_vencimiento,
modalidad,
grupo,
marca,
principio_activo,
forma_farmaceutica,
presentacion_comercial,
atc,
rol_nombre,
rol_tipo,
ciudad_titular,
pais_titular,
fabricante,
importador,
vigencia
FROM invima_api_catalog
WHERE (
to_tsvector('spanish', COALESCE(search_text, '')) @@ websearch_to_tsquery('spanish', 'marcapasos')
OR COALESCE(registro_sanitario, '') ILIKE '%marcapasos%'
OR COALESCE(expediente, '') ILIKE '%marcapasos%'
OR COALESCE(producto, '') ILIKE '%marcapasos%'
OR COALESCE(categoria_canonica, '') ILIKE '%marcapasos%'
OR COALESCE(categoria_linea, '') ILIKE '%marcapasos%'
)
)
SELECT
source_dataset_key,
source_dataset_id,
source_dataset_name,
categoria_linea,
categoria_canonica,
categoria_slug,
expediente,
registro_sanitario,
producto,
titular,
estado_registro,
fecha_expedicion,
fecha_vencimiento,
modalidad,
grupo,
marca,
principio_activo,
forma_farmaceutica,
presentacion_comercial,
atc,
rol_nombre,
rol_tipo,
ciudad_titular,
pais_titular,
fabricante,
importador,
vigencia
FROM matched
ORDER BY fecha_vencimiento DESC NULLS LAST, producto ASC NULLS LAST, source_dataset_key ASC, source_uid ASC
LIMIT 25 OFFSET 0;