|
|
src: |
|
|
|
SELECT t_listes_tables.oid AS table_id,
|
|
|
0 AS sequence,
|
|
|
t_listes_tables.texte ||
|
|
|
CASE
|
|
|
WHEN count(DISTINCT t_classes.oid) > 0 THEN (' ('::text || count(DISTINCT t_classes.oid)::text) || ')'::text
|
|
|
ELSE ''::text
|
|
|
END AS texte,
|
|
|
t_listes_tables.texte AS sort_1,
|
|
|
'-1'::integer AS sort_2,
|
|
|
0 AS classe_id,
|
|
|
'1'::text AS lvl,
|
|
|
''::text AS code,
|
|
|
'pmsi'::text AS schema
|
|
|
FROM pmsi.t_listes_tables
|
|
|
LEFT JOIN pmsi.t_classes ON t_classes.table_id = t_listes_tables.oid
|
|
|
WHERE t_listes_tables.code = ANY (ARRAY['DIAG'::text, 'ACTE'::text, 'PRESTA'::text, 'GHM'::text, 'MEDECIN'::text, 'LPP'::text, 'UM'::text, 'COMED'::text, 'UCD'::text, 'AGE'::text, 'DURSEJ'::text, 'CODEPOST'::text, 'TYPEFACT'::text, 'PERSO_RSS1'::text, 'EXPERTCTL'::text, 'INDICATIONUCD'::text, 'UF'::text])
|
|
|
GROUP BY t_listes_tables.oid, t_listes_tables.texte
|
|
|
UNION
|
|
|
SELECT t_classes.table_id,
|
|
|
t_classes.sequence,
|
|
|
t_classes.texte,
|
|
|
t_listes_tables.texte AS sort_1,
|
|
|
t_classes.sequence AS sort_2,
|
|
|
t_classes.oid AS classe_id,
|
|
|
'2'::text AS lvl,
|
|
|
t_classes.code,
|
|
|
'pmsi'::text AS schema
|
|
|
FROM pmsi.t_classes,
|
|
|
pmsi.t_listes_tables
|
|
|
WHERE t_classes.table_id = t_listes_tables.oid AND (t_listes_tables.code = ANY (ARRAY['DIAG'::text, 'ACTE'::text, 'PRESTA'::text, 'GHM'::text, 'MEDECIN'::text, 'LPP'::text, 'UM'::text, 'COMED'::text, 'UCD'::text, 'AGE'::text, 'DURSEJ'::text, 'CODEPOST'::text, 'TYPEFACT'::text, 'PERSO_RSS1'::text, 'EXPERTCTL'::text, 'INDICATIONUCD'::text, 'UF'::text])) AND t_classes.sequence >= 1
|
|
|
UNION
|
|
|
SELECT t_listes_tables.oid AS table_id,
|
|
|
'-1'::integer AS sequence,
|
|
|
'Nouvelle classe'::text AS texte,
|
|
|
t_listes_tables.texte AS sort_1,
|
|
|
0 AS sort_2,
|
|
|
'-1'::integer AS classe_id,
|
|
|
'2'::text AS lvl,
|
|
|
''::text AS code,
|
|
|
'pmsi'::text AS schema
|
|
|
FROM pmsi.t_listes_tables
|
|
|
WHERE t_listes_tables.code = ANY (ARRAY['DIAG'::text, 'ACTE'::text, 'PRESTA'::text, 'GHM'::text, 'MEDECIN'::text, 'LPP'::text, 'UM'::text, 'COMED'::text, 'UCD'::text, 'AGE'::text, 'DURSEJ'::text, 'CODEPOST'::text, 'TYPEFACT'::text, 'PERSO_RSS1'::text, 'EXPERTCTL'::text, 'INDICATIONUCD'::text, 'UF'::text])
|
|
|
UNION
|
|
|
SELECT t_listes_tables.oid AS table_id,
|
|
|
0 AS sequence,
|
|
|
t_listes_tables.texte,
|
|
|
t_listes_tables.texte AS sort_1,
|
|
|
'-1'::integer AS sort_2,
|
|
|
0 AS classe_id,
|
|
|
'1'::text AS lvl,
|
|
|
''::text AS code,
|
|
|
'base'::text AS schema
|
|
|
FROM base.t_listes_tables
|
|
|
LEFT JOIN base.t_classes ON t_classes.table_id = t_listes_tables.oid
|
|
|
WHERE t_listes_tables.code = ANY (ARRAY['FINESS'::text, 'POLE'::text])
|
|
|
GROUP BY t_listes_tables.oid, t_listes_tables.texte
|
|
|
UNION
|
|
|
SELECT t_classes.table_id,
|
|
|
t_classes.sequence,
|
|
|
t_classes.texte,
|
|
|
t_listes_tables.texte AS sort_1,
|
|
|
t_classes.sequence AS sort_2,
|
|
|
t_classes.oid AS classe_id,
|
|
|
'2'::text AS lvl,
|
|
|
t_classes.code,
|
|
|
'base'::text AS schema
|
|
|
FROM base.t_classes,
|
|
|
base.t_listes_tables
|
|
|
WHERE t_classes.table_id = t_listes_tables.oid AND (t_listes_tables.code = ANY (ARRAY['FINESS'::text, 'POLE'::text])) AND t_classes.sequence >= 1
|
|
|
UNION
|
|
|
SELECT t_listes_tables.oid AS table_id,
|
|
|
'-1'::integer AS sequence,
|
|
|
'Nouvelle classe'::text AS texte,
|
|
|
t_listes_tables.texte AS sort_1,
|
|
|
0 AS sort_2,
|
|
|
'-1'::integer AS classe_id,
|
|
|
'2'::text AS lvl,
|
|
|
''::text AS code,
|
|
|
'base'::text AS schema
|
|
|
FROM base.t_listes_tables
|
|
|
WHERE t_listes_tables.code = ANY (ARRAY['FINESS'::text, 'POLE'::text])
|
|
|
ORDER BY 4, 5;
|