jeniferfleurant

OVC_Nut (deno)

Oct 16th, 2018
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.89 KB | None | 0 0
  1. USE caris_db;
  2. SET @start_date= '2018-10-01';
  3. SET @end_date='2019-09-30';
  4.  
  5. SELECT
  6.     LEFT(patient_code, 8) AS hospital,
  7.     COUNT(*) AS total,
  8.     SUM(IF(gender = 1,
  9.         IF(TIMESTAMPDIFF(MONTH, dob, date) < 12
  10.                 AND TIMESTAMPDIFF(MONTH, dob, date) >= 6,
  11.             1,
  12.             0),
  13.         0)) AS m_6_11,
  14.     SUM(IF(gender = 2,
  15.         IF(TIMESTAMPDIFF(MONTH, dob, date) < 12
  16.                 AND TIMESTAMPDIFF(MONTH, dob, date) >= 6,
  17.             1,
  18.             0),
  19.         0)) AS f_6_11,
  20.     SUM(IF(gender = 1,
  21.         IF(TIMESTAMPDIFF(MONTH, dob, date) < 60
  22.                 AND TIMESTAMPDIFF(MONTH, dob, date) >= 12,
  23.             1,
  24.             0),
  25.         0)) AS m_12_59,
  26.     SUM(IF(gender = 2,
  27.         IF(TIMESTAMPDIFF(MONTH, dob, date) < 60
  28.                 AND TIMESTAMPDIFF(MONTH, dob, date) >= 12,
  29.             1,
  30.             0),
  31.         0)) AS f_12_59
  32. FROM
  33.     (SELECT DISTINCT
  34.         patient_code, dob, gender, date
  35.     FROM
  36.         tracking_followup
  37.     LEFT JOIN patient ON patient.id = tracking_followup.id_patient
  38.     LEFT JOIN tracking_infant ON patient.id = tracking_infant.id_patient
  39.     WHERE
  40.         date BETWEEN @start_date AND @end_date
  41.             AND (mid_arm_circumference > 0)
  42.             AND TIMESTAMPDIFF(MONTH, dob, date) < 60
  43.             AND TIMESTAMPDIFF(MONTH, dob, date) >= 6 UNION SELECT DISTINCT
  44.         odk_child_visit.patient_code,
  45.             dob,
  46.             gender,
  47.             date_of_visit AS date
  48.     FROM
  49.         openfn.odk_child_visit
  50.     LEFT JOIN patient ON patient.patient_code = odk_child_visit.patient_code
  51.     LEFT JOIN tracking_infant ON patient.id = id_patient
  52.     WHERE
  53.         date_of_visit BETWEEN @start_date AND @end_date
  54.             AND (muac > 0)
  55.             AND TIMESTAMPDIFF(MONTH, dob, date_of_visit) < 60
  56.             AND TIMESTAMPDIFF(MONTH, dob, date_of_visit) >= 6) a
  57. GROUP BY LEFT(patient_code, 8)
Advertisement
Add Comment
Please, Sign In to add comment