A better look at trying to insert a Conditional in a SELECT statement - Mailing list pgsql-sql

From Norm Garand
Subject A better look at trying to insert a Conditional in a SELECT statement
Date
Msg-id 326614.81076.qm@web88315.mail.re4.yahoo.com
Whole thread Raw
List pgsql-sql
Hi Again:

thanks to those who sent me responses on my first post. I'll try to explain a bit better. There
are several parameters that are passed by the user. Each of the parameters that are being passed,
may have a NULL value, or an actual numerical value. The parameters filter a large report down a
to small amount of records. With that being said, the problem I'm encountering is that I can't
seem to insert a conditional (whether it be a CASE statement or an IF statement) in the middle of
the SELECT statement. I'm not sure if the problem stems from using the ROWTYPE variable notation.
Here is the complete code. It works as long as a NULL value doesn't get passed.

To show what I mean, I'd like to insert the conditional around this line (23rd from the bottom):

f.id = pid.specific_location_cid AND f.long_desc = $7

-- Function: sp_hirs_a_01dd(integer, character varying, integer, character varying, character
varying, character varying, character varying)

-- DROP FUNCTION sp_hirs_a_01dd(integer, character varying, integer, character varying, character
varying, character varying, character varying);

CREATE OR REPLACE FUNCTION sp_hirs_a_01dd(integer, character varying, integer, character varying,
character varying, character varying, character varying) RETURNS SETOF rec_dd_holder AS
$BODY$
DECLARE
r rec_dd_holder%rowtype;
BEGIN
FOR r IN 

SELECT    DISTINCT(pi.serial_number) AS "Incident ID",to_char(pi.incident_date,'Mon-dd-yyyy') AS "Incident
date",to_char(pi.date_created,'Mon-dd-yyyy')AS "Report Date",
 
CASE         WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 1 THEN 1     WHEN EXTRACT ( MONTH FROM pi.incident_date ) =
2THEN 1     WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 3 THEN 1    WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 4
THEN2     WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 5 THEN 2     WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 6
THEN2     WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 7 THEN 3     WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 8
THEN3     WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 9 THEN 3     WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 10
THEN4     WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 11 THEN 4     WHEN EXTRACT ( MONTH FROM pi.incident_date ) =
12THEN 4 END AS "Quarter",
 
pf.name  AS "Facility",pl.name  AS "General Location",f.long_desc  AS "Specific Location", 
b.long_desc AS "Status",pi.person_age AS "Age",
CASE    WHEN pi.gender_code_id ='31' THEN 'M'    WHEN pi.gender_code_id ='32' THEN 'F'    ELSE NULL    ENDAS
"Gender",to_char(pi.incident_date,'hh24:mm')AS "Time",
 
pc.long_desc AS "Incident Type", a.long_desc AS "Incident Subtype",
CASE    WHEN pid.fallscf_behavoiur_val ='t' THEN 'Behaviour. '    WHEN pid.fallscf_behavoiur_val ='f'
THEN '' END ||CASE    WHEN pid.fallscf_bowel_bladder_val ='t' THEN 'Bowel/Bladder Problem.' WHEN
pid.fallscf_bowel_bladder_val ='f' THEN '' END ||CASE    WHEN pid.fallscf_comm_information_val  ='t'  THEN
'Communication/Information.'    WHEN
 
pid.fallscf_comm_information_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_env_condition_val  ='t'  THEN
'EnvironmentalConditions. '    WHEN
 
pid.fallscf_env_condition_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_eq_malfunction_val  ='t'  THEN 'Equipment
Malfunction.'    WHEN
 
pid.fallscf_eq_malfunction_val = 'f' THEN '' END || CASE    WHEN pid.fallscf_eq_supplies_val  ='t'  THEN
'Equipment/SuppliesUnavailable. '    WHEN
 
pid.fallscf_eq_supplies_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_visitor_val  ='t'  THEN 'Family/Visitor
Assisting.'    WHEN
 
pid.fallscf_visitor_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_footwear_val  ='t'  THEN 'Inappropriate Footwear.
'   WHEN
 
pid.fallscf_footwear_val = 'f' THEN '' END || CASE    WHEN pid.fallscf_instructionsnotfollowed_val  ='t'  THEN
'InstructionsNot Followed. '    WHEN
 
pid.fallscf_instructionsnotfollowed_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_interference_val  ='t'  THEN
'Interference/Interruption.'    WHEN
 
pid.fallscf_interference_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_material_val  ='t'  THEN 'Material/Liquid on
Floor.'    WHEN
 
pid.fallscf_material_val = 'f' THEN '' END || CASE    WHEN pid.fallscf_medication_val  ='t'  THEN 'Medication. '
WHENpid.fallscf_medication_val =
 
'f' THEN '' END ||CASE    WHEN pid.fallscf_overreaching_val  ='t'  THEN 'Overreaching. '    WHEN
pid.fallscf_overreaching_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_physical_cond_val  ='t'  THEN
'Physical/MedicalCondition. '    WHEN
 
pid.fallscf_physical_cond_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_policy_val  ='t'  THEN 'Policy/Procedure. '
 WHEN pid.fallscf_policy_val =
 
'f' THEN '' END ||CASE    WHEN pid.fallscf_substance_val  ='t'  THEN 'Suspected Substance/Alcohol Use. '    WHEN
pid.fallscf_substance_val = 'f' THEN '' END || CASE    WHEN pid.fallscf_unexpectmovement_val  ='t'  THEN 'Unexpected
Movement.'    WHEN
 
pid.fallscf_unexpectmovement_val = 'f' THEN '' END ||CASE    WHEN pid.fallscf_other_val  ='t'  THEN 'Other'     WHEN
pid.fallscf_other_val= 'f' THEN '' END
 
||    CASE    WHEN pid.vartreatcf_body_mechanics_val  ='t'  THEN 'Body Mechanics. '    WHEN
pid.vartreatcf_body_mechanics_val = 'f' THEN '' END || CASE    WHEN pid.vartreatcf_calculation_val  ='t'  THEN
'Calculation.'    WHEN
 
pid.vartreatcf_calculation_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_chart_doc_val  ='t'  THEN 'Chart
Documentation.'    WHEN
 
pid.vartreatcf_chart_doc_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_communication_val  ='t'  THEN
'Communication/Information.'    WHEN
 
pid.vartreatcf_communication_val = 'f' THEN '' END || CASE    WHEN pid.vartreatcf_computer_probl_val  ='t'  THEN
'ComputerProblems. '    WHEN
 
pid.vartreatcf_computer_probl_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_dispensing_admi_val  ='t'  THEN
'Dispensing/Administration.'    WHEN
 
pid.vartreatcf_dispensing_admi_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_env_conditions_val  ='t'  THEN
'EnvironmentalConditions. '    WHEN
 
pid.vartreatcf_env_conditions_val = 'f' THEN '' END ||        CASE    WHEN pid.vartreatcf_eq_supplies_val  ='t'  THEN
'Equipment/Supplies.'    WHEN
 
pid.vartreatcf_eq_supplies_val = 'f' THEN '' END || CASE    WHEN pid.vartreatcf_instr_notfollowed_val  ='t'  THEN
'InstructionsNot Followed. '    WHEN
 
pid.vartreatcf_instr_notfollowed_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_interference_val  ='t'  THEN
'Interference/Interruption.'    WHEN
 
pid.vartreatcf_interference_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_labelling_val  ='t'  THEN 'Labeling. '
 WHEN pid.vartreatcf_labelling_val
 
= 'f' THEN '' END || CASE    WHEN pid.vartreatcf_medic_notlocked_val  ='t'  THEN 'Medication Not Locked. '    WHEN
pid.vartreatcf_medic_notlocked_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_medic_packaging_val  ='t'  THEN
'MedicationPackaging. '    WHEN
 
pid.vartreatcf_medic_packaging_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_namesound_lookalike_val  ='t'  THEN
'NameSound/Look Alike. '    WHEN
 
pid.vartreatcf_namesound_lookalike_val = 'f' THEN '' END || CASE    WHEN pid.vartreatcf_order_requisition_val  ='t'
THEN'Order/Requisition. '    WHEN
 
pid.vartreatcf_order_requisition_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_patient_ident_missing_val  ='t'
THEN'Patient Identification Missing. '
 
WHEN pid.vartreatcf_patient_ident_missing_val = 'f' THEN '' END || CASE    WHEN
pid.vartreatcf_patient_registration_error_val ='t'  THEN 'Patient Registration Error.
 
'    WHEN pid.vartreatcf_patient_registration_error_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_policy_val
='t' THEN 'Policy/Procedure. '    WHEN
 
pid.vartreatcf_policy_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_prep_fortest_val  ='t'  THEN 'Preparation for
test.'    WHEN
 
pid.vartreatcf_prep_fortest_val = 'f' THEN '' END || CASE    WHEN pid.vartreatcf_selfmedicating_val  ='t'  THEN
'Self-Medicating.'    WHEN
 
pid.vartreatcf_selfmedicating_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_transcription_val  ='t'  THEN
'Transcription.'    WHEN
 
pid.vartreatcf_transcription_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_transport_val  ='t'  THEN
'Transport/Delivery.'    WHEN 
pid.vartreatcf_transport_val = 'f' THEN '' END || CASE    WHEN pid.vartreatcf_unexp_movement_val  ='t'  THEN
'UnexpectedMovement. '    WHEN
 
pid.vartreatcf_unexp_movement_val = 'f' THEN '' END ||CASE    WHEN pid.vartreatcf_wrong_patient_val  ='t'  THEN 'Wrong
Patient.'    WHEN
 
pid.vartreatcf_wrong_patient_val = 'f' THEN '' END || CASE    WHEN pid.vartreatcf_other_val  ='t'  THEN 'Other'    WHEN
pid.vartreatcf_other_val= 'f' THEN
 
'' END ||        CASE    WHEN pid.misccomplcf_behaviour_val  ='t'  THEN 'Behaviour. '    WHEN
pid.misccomplcf_behaviour_val = 'f' THEN '' END || CASE    WHEN pid.misccomplcf_body_mechanics_val  ='t'  THEN 'Body
Mechanics.'    WHEN
 
pid.misccomplcf_body_mechanics_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_communication_val  ='t'  THEN
'Communication/Information.'    WHEN
 
pid.misccomplcf_communication_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_computer_probl_val  ='t'  THEN
'ComputerProblems. '    WHEN
 
pid.misccomplcf_computer_probl_val = 'f' THEN '' END || CASE    WHEN pid.misccomplcf_env_conditions_val  ='t'  THEN
'EnvironmentalConditions. '    WHEN
 
pid.misccomplcf_env_conditions_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_eq_malfunction_val  ='t'  THEN
'EquipmentMalfunction. '    WHEN
 
pid.misccomplcf_eq_malfunction_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_eq_supplies_val  ='t'  THEN
'Equipment/SuppliesUnavailable. '    WHEN
 
pid.misccomplcf_eq_supplies_val = 'f' THEN '' END || CASE    WHEN pid.misccomplcf_expectations_val  ='t'  THEN
'Expectations.'    WHEN
 
pid.misccomplcf_expectations_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_instructions_val  ='t'  THEN
'InstructionsNot Followed. '    WHEN
 
pid.misccomplcf_instructions_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_interference_val  ='t'  THEN
'Interference/Interruption.'    WHEN
 
pid.misccomplcf_interference_val = 'f' THEN '' END || CASE    WHEN pid.misccomplcf_physical_condition_val  ='t'  THEN
'Physical/MedicalCondition. '    WHEN
 
pid.misccomplcf_physical_condition_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_policy_val  ='t'  THEN
'Policy/Procedure.'    WHEN
 
pid.misccomplcf_policy_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_susp_substance_val  ='t'  THEN 'Suspected
Substance/AlcoholUse. '    WHEN
 
pid.misccomplcf_susp_substance_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_unexp_movement_val  ='t'  THEN
'UnexpectedMovement. '    WHEN
 
pid.misccomplcf_unexp_movement_val = 'f' THEN '' END ||CASE    WHEN pid.misccomplcf_other_val  ='t'  THEN 'Other'
WHENpid.misccomplcf_other_val = 'f' THEN
 
'' END 
AS "Cont Factors",
CASE    WHEN pid.bed_alarms_val = 'On' THEN 'On'    WHEN pid.bed_alarms_val = 'Off' THEN 'Off'    ELSE NULL    END
AS"Bed Alarms", CASE    WHEN pid.height_bedstretcher_val = 'Up' THEN 'Up'    WHEN pid.height_bedstretcher_val = 'Down'
THEN'Down'    ELSE NULL    END    AS "Bed/Stretcher", CASE    WHEN pid.brakes_val = 'On' THEN 'On'    WHEN
pid.brakes_val= 'Off' THEN 'Off'    ELSE NULL    END    AS "Brakes", CASE    WHEN pid.restraints_val ='On' THEN 'On'
WHENpid.restraints_val ='Off' THEN 'Off'    ELSE NULL    END    AS "Restraints", CASE    WHEN pid.siderails_val ='Up
andDown' THEN 'Up and Down'    WHEN pid.siderails_val ='Up' THEN 'Up'    WHEN pid.siderails_val ='Down' THEN 'Down'
ELSENULL    END    AS "Siderails", CASE    WHEN pid.walking_aid_val ='Yes' THEN 'Yes'    WHEN pid.walking_aid_val ='No'
THEN'No'    ELSE NULL    END    AS "Walking Aid", 
 

CASE    WHEN pi.incident_witnessed ='t' THEN 'Yes'    ELSE NULL    END    AS "Witnessed", 

CASE    WHEN high_risk_medication_val ='t' THEN 'Yes'    ELSE NULL    END    AS "High Risk Medictation", 
CASE WHEN pid.inc_nature_abrasion_val ='t'  THEN 'Abrasion/Bruise/Contusion. '    WHEN
pid.inc_nature_abrasion_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_allergic_reaction_val ='t'  THEN 'Allergic
Reaction.'    WHEN
 
pid.inc_nature_allergic_reaction_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_back_injury_val ='t'  THEN 'Back
Injury.'    WHEN
 
pid.inc_nature_back_injury_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_bite_val ='t'  THEN 'Bite. '    WHEN
pid.inc_nature_bite_val= 'f' THEN ''
 
END || CASE WHEN pid.inc_nature_bleeding_val ='t'  THEN 'Bleeding/Hemorrhage. '    WHEN
pid.inc_nature_bleeding_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_burn_val ='t'  THEN 'Burn. '    WHEN
pid.inc_nature_burn_val= 'f' THEN ''
 
END || CASE WHEN pid.inc_nature_dislocation_val ='t'  THEN 'Displ. '    WHEN pid.inc_nature_dislocation_val
= 'f' THEN '' END || CASE WHEN pid.inc_nature_eyeinjury_val ='t'  THEN 'Eye Injury/Splash. '    WHEN
pid.inc_nature_eyeinjury_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_fracture_val ='t'  THEN 'Fracture/Possible
Fracture.'    WHEN
 
pid.inc_nature_fracture_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_inhalation_val ='t'  THEN 'Inhalation
Exposure.'    WHEN
 
pid.inc_nature_inhalation_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_laceration_val ='t'  THEN 'Laceration/Cut.
'   WHEN
 
pid.inc_nature_laceration_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_loss_limb_val ='t'  THEN 'Loss of
Limb/Appendage.'    WHEN
 
pid.inc_nature_loss_limb_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_effect_ofmedication_val ='t'  THEN 'Outward
Effectof Medication. '    WHEN
 
pid.inc_nature_effect_ofmedication_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_puncture_val ='t'  THEN 'Puncture.
'   WHEN pid.inc_nature_puncture_val =
 
'f' THEN '' END || CASE WHEN pid.inc_nature_rash_val ='t'  THEN 'Rash. '    WHEN pid.inc_nature_rash_val = 'f' THEN ''
END || CASE WHEN pid.inc_nature_skin_tear_val ='t'  THEN 'Skin Tear. '    WHEN pid.inc_nature_skin_tear_val
= 'f' THEN '' END || CASE WHEN pid.inc_nature_sprain_val ='t'  THEN 'Sprain/Strain. '    WHEN pid.inc_nature_sprain_val
=
'f' THEN '' END || CASE WHEN pid.inc_nature_noneapparent_val ='t'  THEN 'Not Apparent. '    WHEN
pid.inc_nature_noneapparent_val = 'f' THEN '' END || CASE WHEN pid.inc_nature_other_val ='t'  THEN 'Other'    WHEN
pid.inc_nature_other_val= 'f' THEN ''
 
ENDAS "Physical Nature",
d.long_desc AS "Degree of Injury", e.long_desc AS "Mobility",
CASE    WHEN pid.diagnostic_ct_val ='t' THEN 'Yes'    ELSE NULL    END    AS "CT", 
CASE    WHEN pid.diagnostic_labwork_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Lab Work", 
CASE    WHEN pid.diagnostic_mri_val ='t' THEN 'Yes'    ELSE NULL    END    AS "MRI", 
CASE    WHEN pid.diagnostic_ultrasound_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Ultrasound", 
CASE    WHEN pid.diagnostic_xray_val ='t' THEN 'Yes'    ELSE NULL    END    AS "X-Ray", 
CASE    WHEN pid.diagnostic_other_text  != '' THEN pid.diagnostic_other_text    ELSE NULL    END    AS "Other", 
CASE    WHEN pid.no_diagnostic_req_val ='t' THEN 'Yes'    ELSE NULL    END    AS "No Diagnostic Reqd",
CASE    WHEN pid.doc_chart_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Chart Doc", 
CASE    WHEN pid.doc_doctor_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Doctor", 
CASE    WHEN pid.doc_substitute_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Sub Dec Maker", 
CASE    WHEN pid.doc_supervisor_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Supervisor", 
CASE    WHEN pid.doc_maintenance_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Maintenance", 
CASE    WHEN pid.doc_safety_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Safety", 
CASE    WHEN pid.doc_pharmacy_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Pharmacy", 
CASE    WHEN pid.doc_police_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Police", 
CASE    WHEN pid.doc_security_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Security", 
CASE    WHEN pid.doc_compensation_val ='t' THEN 'Yes'    ELSE NULL    END    AS "Work Comp"

FROM    incident pi, location pl, code pc, incident_detail pid, facility pf, code a, code b, code
d, code e, code f, code g, code h, code i, code j
WHERE ( pid.incident_type_cid = pc.id)
AND extract ( MONTH FROM pi.incident_date ) = $1AND ( pi.person_status_code_id = g.id AND g.long_desc = $2 )AND
SUBSTRING(pi.serial_and_hospital_numberFROM 9 FOR 5) = $3AND ( pi.severity_code_id = j.id AND j.long_desc = $4 ) 
 
AND ( pid.incident_type_cid = h.id AND h.long_desc = $5 ) AND ( ( pid.inc_nature_abrasion_val = 't' AND
pid.inc_nature_abrasion_cid= i.id          OR pid.inc_nature_allergic_reaction_val = 't' AND
pid.inc_nature_allergic_reaction_cid= i.id         OR pid.inc_nature_back_injury_val = 't' AND
pid.inc_nature_back_injury_cid= i.id         OR pid.inc_nature_bite_val = 't' AND pid.inc_nature_bite_cid = i.id
OR pid.inc_nature_bleeding_val = 't' AND pid.inc_nature_bleeding_cid = i.id         OR pid.inc_nature_burn_val = 't'
ANDpid.inc_nature_burn_cid = i.id         OR pid.inc_nature_dislocation_val = 't' AND pid.inc_nature_dislocation_cid =
i.id        OR pid.inc_nature_eyeinjury_val = 't' AND pid.inc_nature_eyeinjury_cid = i.id         OR
pid.inc_nature_fracture_val= 't' AND pid.inc_nature_fracture_cid = i.id         OR pid.inc_nature_inhalation_val = 't'
ANDpid.inc_nature_inhalation_cid = i.id         OR pid.inc_nature_laceration_val = 't' AND
pid.inc_nature_laceration_cid= i.id         OR pid.inc_nature_loss_limb_val = 't' AND pid.inc_nature_loss_limb_cid =
i.id        OR pid.inc_nature_effect_ofmedication_val = 't' AND pid.inc_nature_effect_ofmedication_cid =
 
i.id         OR pid.inc_nature_puncture_val = 't' AND pid.inc_nature_puncture_cid = i.id         OR
pid.inc_nature_rash_val= 't' AND pid.inc_nature_rash_cid = i.id         OR pid.inc_nature_skin_tear_val = 't' AND
pid.inc_nature_skin_tear_cid= i.id         OR pid.inc_nature_sprain_val = 't' AND pid.inc_nature_sprain_cid = i.id
  OR pid.inc_nature_noneapparent_val = 't' AND pid.inc_nature_noneapparent_cid = i.id         OR
pid.inc_nature_other_val= 't' AND pid.inc_nature_other_cid = i.id )  AND i.long_desc = $6 )
 
AND pi.id = pid.idAND ( pid.incident_type_cid BETWEEN 117 AND 123 )
/**************************/    $7 IS NOT NULL THEN f.id = pid.specific_location_cid AND f.long_desc =
$7/**************************/AND( pi.location_id = pl.id )AND pf.id = pl.facility_idAND pi.person_status_code_id =
b.id
AND (    ((a.id = pid.falls_subtype_cid) AND (pid.falls_subtype_cid BETWEEN 138 and 149))    OR ((a.id =
pid.falls_subtype_cid)AND (pid.falls_subtype_cid BETWEEN 278 and 283))    OR ((a.id = pid.falls_subtype_cid) AND
(pid.falls_subtype_cid= 285))
 
    OR ((a.id = pid.medvariance_treatment_subtype_cid) AND (pid.medvariance_treatment_subtype_cid
BETWEEN 150 and 188))    OR ((a.id = pid.medvariance_treatment_subtype_cid) AND (pid.medvariance_treatment_subtype_cid
=
284))
    OR ((a.id = pid.misc_complaints_subtype_cid) AND (pid.misc_complaints_subtype_cid BETWEEN 189
and 224)))
AND (    (d.id = pid.injury_degree_cid) AND (pid.injury_degree_cid BETWEEN 84 and 90))

AND (    (e.id = pid.mobility_level_cid) AND (pid.mobility_level_cid IN (258, 259, 260, 320)) )
AND pi.person_status_code_id IN (16,18,20,22,24,25,26,27)

ORDER BY pi.serial_number

loop
return NEXT r;
END loop;
return;
END
$BODY$ LANGUAGE 'plpgsql' STABLE STRICT;
ALTER FUNCTION sp_hirs_a_01dd(integer, character varying, integer, character varying, character
varying, character varying, character varying) OWNER TO postgres;



pgsql-sql by date:

Previous
From: "Jaime Casanova"
Date:
Subject: Re: Inserting an IF statement in the middle of a SELECT in pl/pgSQL code
Next
From: "Jyoti Seth"
Date:
Subject: Database Synchronization