Advertisement
jzgeorge

XXXX new view 2

Jun 23rd, 2017
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- View: esq_ceac_planclase.v_syllabus_newview
  2.  
  3. DROP VIEW esq_ceac_planclase.v_syllabus_newview;
  4.  
  5. CREATE OR REPLACE VIEW esq_ceac_planclase.v_syllabus_newview AS
  6.  SELECT DISTINCT (
  7.         CASE
  8.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal::text
  9.             ELSE (( SELECT personal.idpersonal
  10.                FROM esq_distributivos.distribucion_academica
  11.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  12.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  13.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  14.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  15.              LIMIT 1))::text
  16.         END || ((((abs(da.idmateria_unica)::text || m.idmateria::text) || pd.idperiodo::text) || pd.idescuela::text) || me.idmalla::text))::numeric AS idregistro,
  17.     pd.idperiodo,
  18.     pa.nombre AS nperiodo,
  19.     f.idfacultad,
  20.     f.nombre AS nfacultad,
  21.     pd.idescuela,
  22.     e.nombre AS nescuela,
  23.     me.idmalla,
  24.     da.idmateria_unica,
  25.     ( SELECT DISTINCT materia.nombre
  26.            FROM esq_mallas.materia
  27.           WHERE materia.idmateria = m.idmateria AND materia.idtipo_perfil_profesional = m.idtipo_perfil_profesional) AS nombre,
  28.     m.idtipo_perfil_profesional,
  29.     ( SELECT materia_unica.iddepartamento
  30.            FROM esq_distributivos.materia_unica
  31.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS iddepartamento,
  32.     ( SELECT departamento.nombre
  33.            FROM esq_distributivos.materia_unica
  34.              JOIN esq_distributivos.departamento ON materia_unica.iddepartamento = departamento.iddepartamento
  35.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS ndepartamento,
  36.     ( SELECT departamento.idfacultad
  37.            FROM esq_distributivos.materia_unica
  38.              JOIN esq_distributivos.departamento ON materia_unica.iddepartamento = departamento.iddepartamento
  39.           WHERE materia_unica.idmateria_unica = da.idmateria_unica) AS idfacultadmateria,
  40.         CASE
  41.             WHEN sy.idregistro IS NOT NULL THEN sy.idregistro
  42.             WHEN sy2.idregistro IS NOT NULL THEN sy2.idregistro
  43.             ELSE NULL::numeric
  44.         END AS idsyllabus,
  45.         CASE
  46.             WHEN sy.idregistro IS NOT NULL THEN sy.estado
  47.             WHEN sy2.idregistro IS NOT NULL THEN sy2.estado
  48.             ELSE 'NE'::text
  49.         END AS estado,
  50.     ( SELECT mu.nombre
  51.            FROM esq_distributivos.materia_unica mu
  52.           WHERE mu.idmateria_unica = da.idmateria_unica) AS nmateria_unica,
  53.     ( SELECT mm.creditos
  54.            FROM esq_mallas.malla_materia_nivel mm
  55.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS creditos_asignatura,
  56.         CASE
  57.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal
  58.             ELSE ( SELECT personal.idpersonal
  59.                FROM esq_distributivos.distribucion_academica
  60.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  61.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  62.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  63.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  64.              LIMIT 1)
  65.         END AS idpersonal_docente,
  66.         CASE
  67.             WHEN da.idpersonal IS NOT NULL THEN ( SELECT (((COALESCE(personal.apellido1, ''::character varying)::text || ' '::text) || COALESCE(personal.apellido2, ''::character varying)::text) || ' '::text) || COALESCE(personal.nombres, ''::character varying)::text AS nom
  68.                FROM esq_datos_personales.personal
  69.               WHERE personal.idpersonal = da.idpersonal)
  70.             ELSE ( SELECT concat(personal.apellido1, ' ', personal.apellido2, ' ', personal.nombres) AS nombre_docente_teoria
  71.                FROM esq_distributivos.distribucion_academica
  72.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  73.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  74.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  75.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  76.              LIMIT 1)
  77.         END AS docente,
  78.     me.nombre AS nmalla,
  79.     ( SELECT mm.materia_virtual
  80.            FROM esq_mallas.malla_materia_nivel mm
  81.           WHERE mm.idmalla = pd.idmalla AND mm.idescuela = pd.idescuela AND pd.idmateria = mm.idmateria) AS es_virtual,
  82.         CASE
  83.             WHEN sy.idregistro IS NOT NULL THEN 'S'::text
  84.             WHEN sy2.idregistro IS NOT NULL THEN 'N'::text
  85.             ELSE NULL::text
  86.         END AS vigente
  87.    FROM esq_inscripciones.inscripcion_detalle pd
  88.      JOIN esq_inscripciones.inscripcion i ON i.idinscripcion = pd.idinscripcion AND i.idperiodo = pd.idperiodo AND i.idescuela = pd.idescuela AND i.idpersonal = pd.idpersonal
  89.      JOIN esq_distributivos.distribucion_academica da ON da.iddistributivo = pd.iddistributivo
  90.      JOIN esq_inscripciones.escuela e ON e.idescuela = pd.idescuela
  91.      JOIN esq_inscripciones.facultad f ON f.idfacultad = e.idfacultad
  92.      JOIN esq_periodos_academicos.periodo_academico pa ON pa.idperiodo = pd.idperiodo
  93.      JOIN esq_mallas.materia m ON m.idmateria = pd.idmateria
  94.      JOIN esq_mallas.malla_escuela me ON me.idmalla = pd.idmalla
  95.      LEFT JOIN esq_ceac_planclase.tbl_syllabus sy ON sy.id_materia = da.idmateria_unica AND sy.id_periodo_academico = pd.idperiodo AND sy.id_personal =
  96.         CASE
  97.             WHEN da.idpersonal IS NOT NULL THEN da.idpersonal
  98.             ELSE ( SELECT personal.idpersonal
  99.                FROM esq_distributivos.distribucion_academica
  100.                  JOIN esq_distributivos.distribucion_academica_compartida ON distribucion_academica.iddistributivo = distribucion_academica_compartida.iddistributivo
  101.                  JOIN esq_datos_personales.personal ON personal.idpersonal = distribucion_academica_compartida.idpersonal
  102.                  JOIN esq_distributivos.materia_unica_compartida_configuracion ON distribucion_academica_compartida.idconfiguracion = materia_unica_compartida_configuracion.idconfiguracion
  103.               WHERE materia_unica_compartida_configuracion.descripcion::text = 'TEORIA'::text AND materia_unica_compartida_configuracion.idperiodo = pd.idperiodo AND distribucion_academica_compartida.iddistributivo = da.iddistributivo
  104.              LIMIT 1)
  105.         END::numeric
  106.      LEFT JOIN esq_ceac_planclase.tbl_pea sy2 ON sy2.idmateria_unica = da.idmateria_unica::numeric AND sy2.idperiodo = pd.idperiodo::numeric AND sy2.iddocente = da.idpersonal AND sy2.estado = 'AP'::text
  107.   ORDER BY (
  108.         CASE
  109.             WHEN sy.idregistro IS NOT NULL THEN sy.estado
  110.             WHEN sy2.idregistro IS NOT NULL THEN sy2.estado
  111.             ELSE 'NE'::text
  112.         END);
  113.  
  114. ALTER TABLE esq_ceac_planclase.v_syllabus_newview
  115.   OWNER TO ceac_analitico;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement