Advertisement
gallopelado

raresql

Feb 2nd, 2021
1,037
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.23 KB | None | 0 0
  1. SELECT
  2.     *
  3. FROM
  4.     (
  5.     SELECT
  6.         c.codigo_establecimiento,
  7.         (
  8.         SELECT
  9.             nombre_establecimiento
  10.         FROM
  11.             establecimiento
  12.         WHERE
  13.             codigo_establecimiento = c.codigo_establecimiento),
  14.         ha.codigo_asignacion,
  15.         c.codigo_edificio,
  16.         (
  17.         SELECT
  18.             nombre_edificio
  19.         FROM
  20.             edificio
  21.         WHERE
  22.             codigo_edificio = c.codigo_edificio),
  23.         c.codigo_piso,
  24.         (
  25.         SELECT
  26.             nombre_piso
  27.         FROM
  28.             piso
  29.         WHERE
  30.             codigo_piso = c.codigo_piso),
  31.         c.codigo_sala,
  32.         (
  33.         SELECT
  34.             nombre_sala
  35.         FROM
  36.             sala
  37.         WHERE
  38.             codigo_sala = c.codigo_sala),
  39.         c.codigo_cama,
  40.         c.nombre_cama,
  41.         (
  42.         SELECT
  43.             CASE
  44.                 WHEN ('1' = estado) THEN 'DISPONIBLE'
  45.                 WHEN ('2' = estado) THEN 'OCUPADO'
  46.                 WHEN ('3' = estado) THEN 'PREPARACION'
  47.                 WHEN ('4' = estado) THEN 'AISLADO'
  48.                 ELSE ''
  49.             END cama_estado
  50.         FROM
  51.             cama_estado
  52.         WHERE
  53.             codigo_cama = c.codigo_cama),
  54.         c.codigo_servicio cama_codigo_servicio,
  55.         (
  56.         SELECT
  57.             nombre_servicio
  58.         FROM
  59.             servicio
  60.         WHERE
  61.             codigo_servicio = c.codigo_servicio) cama_nombre_servicio,
  62.         CASE
  63.             WHEN ('Y' = c.activo) THEN 'ACTIVO'
  64.             WHEN ('N' = c.activo) THEN 'INACTIVO'
  65.             ELSE 'UNDEFINED'
  66.         END AS activo,
  67.         c.observacion,
  68.         'NORMAL' tipo_consulta,
  69.         ha.codigo_medico,
  70.         ha.nombre_medico,
  71.         ha.codigo_servicio asignacion_codigo_servicio,
  72.         ha.nombre_servicio asignacion_nombre_servicio,
  73.         ha.codigo_paciente,
  74.         ha.nombre_paciente
  75.     FROM
  76.         cama c
  77.     left join (
  78.         SELECT
  79.             ha.codigo_asignacion,
  80.             ha.codigo_cama,
  81.             ha.codigo_servicio,
  82.             (
  83.             SELECT
  84.                 nombre_servicio
  85.             FROM
  86.                 servicio
  87.             WHERE
  88.                 codigo_servicio = ha.codigo_servicio),
  89.             ha.codigo_medico,
  90.             (
  91.             SELECT
  92.                 CONCAT(TRIM(nombres), ' ', TRIM(apellidos)) nombre_medico
  93.             FROM
  94.                 usuario
  95.             WHERE
  96.                 codigo_usuario = ha.codigo_medico),
  97.             ha.codigo_paciente,
  98.             (
  99.             SELECT
  100.                 CONCAT(TRIM(primer_nombre), ' ', TRIM(segundo_nombre), ' ', TRIM(primer_apellido), ' ', TRIM(segundo_apellido)) nombre_paciente
  101.             FROM
  102.                 paciente
  103.             WHERE
  104.                 codigo_paciente = ha.codigo_paciente)
  105.         FROM
  106.             hospitalario_asignacion ha
  107.         WHERE
  108.             ha.is_outdated IS FALSE
  109.             AND ha.fin_del_evento = '0' ) ha
  110.             using(codigo_cama)) x
  111. WHERE
  112.     1 = 1
  113.     AND x.codigo_establecimiento = '0003000.00010101'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement