pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Norm Garand <indianlakesolutions@rogers.com>
To: pgsql-sql@postgresql.org
Subject: A better look at trying to insert a Conditional in a SELECT statement
Date: Wed, 18 Jul 2007 01:33:00 -0400 (EDT)
Message-ID: <326614.81076.qm@web88315.mail.re4.yahoo.com> (raw)

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 ) = 2 THEN 1 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 3 THEN 1
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 4 THEN 2 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 5 THEN 2 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 6 THEN 2 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 7 THEN 3 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 8 THEN 3 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 9 THEN 3 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 10 THEN 4 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 11 THEN 4 
		WHEN EXTRACT ( MONTH FROM pi.incident_date ) = 12 THEN 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
		END
	AS "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 'Environmental Conditions. '	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/Supplies Unavailable. '	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 'Instructions Not 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. '	WHEN pid.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/Medical Condition. '	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 'Computer Problems. '	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 'Environmental Conditions. '	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 'Instructions Not 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 'Medication Packaging. '	WHEN
pid.vartreatcf_medic_packaging_val = 'f' THEN '' END ||
	CASE	WHEN pid.vartreatcf_namesound_lookalike_val  ='t'  THEN 'Name Sound/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 'Unexpected Movement. '	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 'Computer Problems. '	WHEN
pid.misccomplcf_computer_probl_val = 'f' THEN '' END || 
	CASE	WHEN pid.misccomplcf_env_conditions_val  ='t'  THEN 'Environmental Conditions. '	WHEN
pid.misccomplcf_env_conditions_val = 'f' THEN '' END ||
	CASE	WHEN pid.misccomplcf_eq_malfunction_val  ='t'  THEN 'Equipment Malfunction. '	WHEN
pid.misccomplcf_eq_malfunction_val = 'f' THEN '' END ||
	CASE	WHEN pid.misccomplcf_eq_supplies_val  ='t'  THEN 'Equipment/Supplies Unavailable. '	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 'Instructions Not 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/Medical Condition. '	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/Alcohol Use. '	WHEN
pid.misccomplcf_susp_substance_val = 'f' THEN '' END ||
	CASE	WHEN pid.misccomplcf_unexp_movement_val  ='t'  THEN 'Unexpected Movement. '	WHEN
pid.misccomplcf_unexp_movement_val = 'f' THEN '' END ||
	CASE	WHEN pid.misccomplcf_other_val  ='t'  THEN 'Other'	WHEN pid.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'
		WHEN pid.restraints_val ='Off' THEN 'Off'
		ELSE NULL
		END
	    AS "Restraints", 
	CASE
		WHEN pid.siderails_val ='Up and Down' THEN 'Up and Down'
		WHEN pid.siderails_val ='Up' THEN 'Up'
		WHEN pid.siderails_val ='Down' THEN 'Down'
		ELSE NULL
		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 Effect of 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 ''
END
	AS "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 ) = $1
	AND ( pi.person_status_code_id = g.id AND g.long_desc = $2 )
	
	AND SUBSTRING(pi.serial_and_hospital_number FROM 9 FOR 5) = $3
	
	AND ( 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' AND pid.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' AND pid.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.id
	AND ( 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_id
	
	AND 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;




Message-ID: <326614.81076.qm@web88315.mail.re4.yahoo.com>
Permalink:  ../326614.81076.qm@web88315.mail.re4.yahoo.com/
Also on:    postgresql.org/message-id/326614.81076.qm@web88315.mail.re4.yahoo.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: indianlakesolutions@rogers.com
  Subject: Re: A better look at trying to insert a Conditional in a SELECT statement
  In-Reply-To: <326614.81076.qm@web88315.mail.re4.yahoo.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox