Hi Taco, You are preaching to the converted. I know and love stored procs. However, the guy I am working for hates them. I mean, I could have created the stored proc once, and used it in both search results page, AND in the report!!!!!!!!!!!!
Think I might go and harrass him some more... >>> [EMAIL PROTECTED] 07/18/05 9:47 am >>> I would suggest against it, you'd be having to use "preserveSingleQuotes" plus other nasty stuff, I know with CF service factory you can get at the executed SQL, not sure if it works without debugging, just google it. PS. A query like this is much better as a stored procedure. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Thornton Sent: Monday, 18 July 2005 9:44 AM To: CFAussie Mailing List Subject: [cfaussie] Re: CFQUERY sql string I guess it is something to think about. Like to offer an option on how to turn this query into a variable easily? <cfquery datasource="#DSN#" name="SEARCH_RESULT"> set dateformat dmy SELECT PATIENT.SB_PATIENT_MRN, PATIENT.SB_HL7_SOURCE, PATIENT.SB_PATIENT_SURNAME, PATIENT.SB_PATIENT_OTHER_NAMES, PATIENT.SB_PATIENT_DOB, CASE WHEN INVOICE.SB_INVOICE_PRINT_ID IS NULL THEN 'NORMAL' ELSE 'GROUP' END AS TYPE, CASE WHEN INVOICE.SB_INVOICE_PRINT_ID IS NULL THEN INVOICE.SB_INVOICE_ID ELSE INVOICE.SB_INVOICE_PRINT_ID END AS SB_INVOICE_ID, MAX(INVOICE.SB_INVOICE_PRINT_ID) as SB_INVOICE_PRINT_ID, INVOICE.SB_INVOICE_DATE, CASE WHEN INVOICE.SB_INVOICE_PRINT_ID IS NULL THEN INVOICE.SB_INVOICE_NUMBER ELSE INVOICE_PRINT.SB_INVOICE_PRINT_INV_NO END AS SB_INVOICE_NUMBER, CASE WHEN MAX( INVOICE.SB_PROVIDER_NUMBER ) = MIN(INVOICE.SB_PROVIDER_NUMBER) THEN MIN(provider.SB_PROVIDER_SURNAME) ELSE '' END AS SB_PROVIDER_SURNAME, CASE WHEN MAX( INVOICE.SB_PROVIDER_NUMBER ) = MIN(INVOICE.SB_PROVIDER_NUMBER) THEN MIN(provider.SB_PROVIDER_NUMBER ) ELSE '' END AS SB_PROVIDER_NUMBER, MIN(SB_BILL_MECH_DESC) AS SB_BILL_MECH_DESC, <cfif session.imaging eq "N"> EP_TYPE.SB_EPISODE_TYPE_DESC, EPISODE.SB_HOSPITAL_CODE, EPISODE.SB_ADMISSION_DATE, EPISODE.SB_DISCHARGE_DATE, </cfif> MIN(INVOICE.SB_REMINDER_LEVEL) AS SB_REMINDER_LEVEL, ISNULL(ISNULL(( SELECT SUM(INVOICE3.SB_INVOICE_TOTAL_AMT) FROM SB_INVOICE INVOICE3 WHERE INVOICE3.SB_INVOICE_PRINT_ID = INVOICE.SB_INVOICE_PRINT_ID AND INVOICE3.SB_PATIENT_MRN = PATIENT.SB_PATIENT_MRN AND INVOICE3.SB_HL7_SOURCE = PATIENT.SB_HL7_SOURCE ), sum(ITEM.SB_INVOICE_COST) ),0) AS INVOICE_AMOUNT, ISNULL(( SELECT SUM(ISNULL(ITEM3.SB_HIC_AMOUNT_PAID,0) + ISNULL(ITEM3.SB_FUND_AMOUNT_PAID,0) ) FROM SB_INVOICE INVOICE3 INNER JOIN SB_INVOICE_ITEM ITEM3 ON INVOICE3.SB_INVOICE_ID = ITEM3.SB_INVOICE_ID WHERE INVOICE3.SB_INVOICE_PRINT_ID = INVOICE.SB_INVOICE_PRINT_ID AND INVOICE3.SB_PATIENT_MRN = PATIENT.SB_PATIENT_MRN AND INVOICE3.SB_HL7_SOURCE = PATIENT.SB_HL7_SOURCE ),0) AS AMOUNT_PAID, ISNULL(( SELECT SUM(ISNULL(ITEM3.SB_WRITEOFF_AMOUNT,0) + ISNULL(ITEM3.SB_ADJUST_AMOUNT,0)) FROM SB_INVOICE INVOICE3 INNER JOIN SB_INVOICE_ITEM ITEM3 ON INVOICE3.SB_INVOICE_ID = ITEM3.SB_INVOICE_ID WHERE INVOICE3.SB_INVOICE_PRINT_ID = INVOICE.SB_INVOICE_PRINT_ID AND INVOICE3.SB_PATIENT_MRN = PATIENT.SB_PATIENT_MRN AND INVOICE3.SB_HL7_SOURCE = PATIENT.SB_HL7_SOURCE ),0) AS AMOUNT_ADJUSTED, ISNULL( ( SELECT SUM(ITEM3.SB_INVOICE_COST)-SUM(ISNULL(ITEM3.SB_HIC_AMOUNT_PAID,0) + ISNULL(ITEM3.SB_FUND_AMOUNT_PAID,0)) - SUM(ISNULL(ITEM3.SB_WRITEOFF_AMOUNT,0) + ISNULL(ITEM3.SB_ADJUST_AMOUNT,0)) FROM SB_INVOICE INVOICE3 INNER JOIN SB_INVOICE_ITEM ITEM3 ON INVOICE3.SB_INVOICE_ID = ITEM3.SB_INVOICE_ID WHERE INVOICE3.SB_INVOICE_PRINT_ID = INVOICE.SB_INVOICE_PRINT_ID AND INVOICE3.SB_PATIENT_MRN = PATIENT.SB_PATIENT_MRN AND INVOICE3.SB_HL7_SOURCE = PATIENT.SB_HL7_SOURCE ),sum(ISNULL(ITEM.SB_INVOICE_COST,0))) AS BALANCE FROM SB_PATIENT_REGISTER PATIENT INNER JOIN SB_PATIENT_EPISODE EPISODE ON PATIENT.SB_PATIENT_MRN = EPISODE.SB_PATIENT_MRN AND PATIENT.SB_HL7_SOURCE = EPISODE.SB_HL7_SOURCE INNER JOIN SB_EPISODE_TYPE EP_TYPE ON EPISODE.SB_EPISODE_TYPE_CODE = EP_TYPE.SB_EPISODE_TYPE_CODE INNER JOIN sb_invoice_balance_view INVOICE ON EPISODE.SB_EPISODE_NUMBER = INVOICE.SB_EPISODE_NUMBER left outer join SB_PATIENT_REGISTER MERGED_PATIENT ON PATIENT.SB_PATIENT_MRN = MERGED_PATIENT.SB_REDIRECTED_TO LEFT OUTER JOIN EPISODE_CURRENT_WARD CURRENT_WARD ON EPISODE.SB_EPISODE_NUMBER = CURRENT_WARD.SB_EPISODE_NUMBER LEFT OUTER JOIN SB_WARD ON SB_WARD.SB_WARD_ID = CURRENT_WARD.SB_WARD_ID LEFT OUTER JOIN SB_DEPARTMENT on SB_WARD.SB_DEPARTMENT_ID = SB_DEPARTMENT.SB_DEPARTMENT_ID LEFT OUTER JOIN SB_HOSPITAL HOSPITAL ON SB_DEPARTMENT.SB_HOSPITAL_CODE = HOSPITAL.SB_HOSPITAL_CODE LEFT OUTER JOIN SB_DEBTOR ON PATIENT.SB_DEBTOR_ID = SB_DEBTOR.SB_DEBTOR_ID LEFT OUTER JOIN SB_BILLING_MECHANISM BILLMECH ON INVOICE.SB_BILL_MECH_CODE = BILLMECH.SB_BILL_MECH_CODE LEFT OUTER JOIN SB_INVOICE_ITEM ITEM ON INVOICE.SB_INVOICE_ID = ITEM.SB_INVOICE_ID LEFT OUTER JOIN SB_INVOICE INVOICE2 ON INVOICE.SB_INVOICE_ID = INVOICE2.SB_INVOICE_ID LEFT OUTER JOIN SB_PROVIDER PROVIDER ON INVOICE.SB_PROVIDER_NUMBER = PROVIDER. SB_PROVIDER_NUMBER LEFT OUTER JOIN SB_INVOICE_PRINT INVOICE_PRINT ON INVOICE.SB_INVOICE_PRINT_ID = INVOICE_PRINT.SB_INVOICE_PRINT_ID LEFT OUTER JOIN SB_ITEM_CLAIM CLAIM ON ITEM.SB_INVOICE_ITEM_ID = CLAIM.SB_INVOICE_ITEM_ID LEFT OUTER JOIN SB_FUND_PAYMENT FP ON CLAIM.SB_FUND_PAYMENT_ID = FP.SB_FUND_PAYMENT_ID LEFT OUTER JOIN SB_RECEIPT_BATCH RECEIPT ON FP.SB_RECEIPT_BATCH_ID = RECEIPT.SB_RECEIPT_BATCH_ID LEFT OUTER JOIN SB_INVOICE_ERROR ERROR ON INVOICE.SB_INVOICE_ID = ERROR.SB_INVOICE_ID <cfif session.SEARCH_INVOICE_FLAG neq ""> AND ERROR.SB_INVOICE_FLAG_CODE = '#session.SEARCH_INVOICE_FLAG#' </cfif> <cfif session.SEARCH_flag_status eq "O"> AND ERROR.SB_ERROR_DATE is not null AND ERROR.SB_FINALISED_DATE IS NULL </cfif> <cfif session.SEARCH_flag_status eq "C"> AND ERROR.SB_FINALISED_DATE IS NOT NULL </cfif> LEFT OUTER JOIN SB_VOUCHER_CLAIM VOUCHER ON ITEM.SB_VOUCHER_ID = VOUCHER.SB_VOUCHER_ID WHERE 1=1 <!--- If called from sbmt118, will just pass invoicerun as URL ---> <cfif IsDefined("URL.invoicerun")> AND INVOICE.SB_INVOICE_PRINT_ID = #URL.invoicerun# <cfelse> <CFIF ISDEFINED("URL.HOSP")> <!--- SHOW PRE INVOICES ONLY WHEN COMING FROM SBMT117 ---> AND INVOICE.SB_INVOICE_DATE IS NULL </CFIF> <CFIF SESSION.SEARCH_MRN NEQ ""> AND (PATIENT.SB_PATIENT_MRN like <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_MRN#%"> OR MERGED_PATIENT.SB_PATIENT_MRN like <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_MRN#%"> OR PATIENT.SB_PATIENT_UPI like <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_MRN#%">) </CFIF> <CFIF SESSION.SEARCH_SURNAME NEQ ""> AND PATIENT.SB_PATIENT_SURNAME LIKE <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_SURNAME#%"> </CFIF> <CFIF SESSION.SEARCH_GIVEN NEQ ""> AND PATIENT.SB_PATIENT_OTHER_NAMES LIKE <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_GIVEN#%"> </CFIF> <CFIF SESSION.search_pat_suburb NEQ ""> AND PATIENT.sb_pat_suburb LIKE <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.search_pat_suburb#%"> </CFIF> <CFIF SESSION.SEARCH_DOB NEQ ""> AND PATIENT.SB_PATIENT_DOB = CONVERT(DATETIME, <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_GIVEN#">) </CFIF> <CFIF SESSION.SEARCH_HEALTH_FUND NEQ ""> AND EPISODE.SB_HEALTH_FUND_CODE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_HEALTH_FUND#"> </CFIF> <CFIF SESSION.search_FUND_NO NEQ ""> AND EPISODE.SB_PATIENT_HEALTH_FUND_NUMBER = '#SESSION.search_FUND_NO#' </CFIF> <CFIF SESSION.SEARCH_MEDICARE NEQ ""> AND PATIENT.SB_PATIENT_MEDICARE_NUMBER like '#SESSION.SEARCH_MEDICARE#%' </CFIF> <CFIF SESSION.SEARCH_DVA NEQ ""> AND PATIENT.SB_DVA_NUMBER like '#SESSION.SEARCH_DVA#%' </CFIF> <CFIF SESSION.SEARCH_HOSPITAL NEQ ""> AND ( INVOICE2.SB_HOSPITAL_OVERRIDE_CODE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_HOSPITAL#"> OR ( INVOICE2.SB_HOSPITAL_OVERRIDE_CODE IS NULL AND HOSPITAL.SB_HOSPITAL_CODE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_HOSPITAL#"> ) ) </CFIF> <CFIF SESSION.SEARCH_WARD NEQ ""> AND ( INVOICE2.SB_WARD_OVERRIDE_ID = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_WARD#"> OR ( INVOICE2.SB_WARD_OVERRIDE_ID IS NULL AND CURRENT_WARD.SB_WARD_ID = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_WARD#"> ) ) </CFIF> <cfif session.SEARCH_PROV_NUMBERS neq ""> AND INVOICE.SB_PROVIDER_NUMBER IN (#preserveSingleQuotes(session.SEARCH_PROV_NUMBERS)#) </cfif> <CFIF SESSION.SEARCH_HEALTH_FUND NEQ ""> AND EPISODE.SB_HEALTH_FUND_CODE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_HEALTH_FUND#"> </CFIF> <CFIF SESSION.SEARCH_ACCESSION NEQ ""> AND ITEM.SB_EXTERNAL_TRANS_NO = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_ACCESSION#"> </CFIF> <CFIF SESSION.SEARCH_SB_MODALITY_ID NEQ ""> AND INVOICE.SB_SPECIALTY_CODE IN (#PreserveSingleQuotes(session.SEARCH_SB_MODALITY_ID)#) </CFIF> <CFIF SESSION.SEARCH_WCOMP NEQ ""> AND EPISODE.SB_WCOMP_CLAIM = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_WCOMP#"> </CFIF> <CFIF SESSION.SEARCH_BILL_MECH NEQ ""> AND INVOICE.SB_BILL_MECH_CODE = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_BILL_MECH#"> </CFIF> <CFIF SESSION.SEARCH_REMINDER_DAYS NEQ ""> AND INVOICE.SB_REMINDER_LEVEL = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_REMINDER_DAYS#"> <cfelseif SESSION.SEARCH_REMINDER_DATE_FROM neq "" or SESSION.SEARCH_REMINDER_DATE_TO neq ""> AND INVOICE.SB_REMINDER_LEVEL > 1 </CFIF> <CFIF SESSION.SEARCH_REMINDER_DATE_FROM NEQ ""> AND CONVERT(DATETIME, CONVERT(VARCHAR, INVOICE.SB_REMINDER_DATE, 103)) >= CONVERT(DATETIME, <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_REMINDER_DATE_FROM#">) </CFIF> <CFIF SESSION.SEARCH_REMINDER_DATE_TO NEQ ""> AND CONVERT(DATETIME, CONVERT(VARCHAR, INVOICE.SB_REMINDER_DATE, 103)) <= CONVERT(DATETIME, <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_REMINDER_DATE_TO#">) </CFIF> <CFIF SESSION.SEARCH_SERVICING_DR NEQ ""> AND INVOICE.SB_PROVIDER_NUMBER = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_SERVICING_DR#"> </CFIF> <CFIF SESSION.SEARCH_REQUESTING_DR NEQ ""> AND ITEM.SB_PROVIDER_NUMBER = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_REQUESTING_DR#"> </CFIF> <CFIF SESSION.SEARCH_SPECIALTY_CODE NEQ ""> AND INVOICE.SB_SPECIALTY_CODE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_SPECIALTY_CODE#"> </CFIF> <CFIF SESSION.SEARCH_SERVICE_DATE NEQ ""> AND CONVERT(DATETIME, CONVERT(VARCHAR, ITEM.SB_SERVICE_DATE, 103)) >= CONVERT(DATETIME, <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_SERVICE_DATE#">) </CFIF> <CFIF SESSION.SEARCH_SERVICE_DATE_TO NEQ ""> AND CONVERT(DATETIME, CONVERT(VARCHAR, ITEM.SB_SERVICE_DATE, 103)) <= CONVERT(DATETIME, <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_SERVICE_DATE#">) </CFIF> <CFIF SESSION.SEARCH_INVOICE_TYPE_CODE NEQ ""> AND INVOICE.SB_INVOICE_TYPE_CODE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_INVOICE_TYPE_CODE#"> </CFIF> <CFIF SESSION.SEARCH_ITEM_STATUS NEQ ""> AND ITEM.SB_ITEM_STATUS_CODE = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_ITEM_STATUS#"> </CFIF> <CFIF SESSION.SEARCH_ITEM NEQ ""> AND ITEM.SB_MBS_ITEM_NUMBER = <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_ITEM#"> </CFIF> <cfif SESSION.search_pre_invoice eq "I"> AND INVOICE.SB_INVOICE_DATE IS NOT NULL <cfelseif SESSION.search_pre_invoice eq "P"> AND INVOICE.SB_INVOICE_DATE IS NULL </cfif> <CFIF SESSION.SEARCH_INVOICE NEQ ""> <cfif Left(SESSION.SEARCH_INVOICE,1) eq Group_Prefix> AND INVOICE_PRINT.SB_INVOICE_PRINT_INV_NO like <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_INVOICE#%"> <cfelse> AND INVOICE.SB_INVOICE_NUMBER like <cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_INVOICE#%"> </cfif> </CFIF> <CFIF SESSION.SEARCH_INVOICE_DATE_FROM NEQ ""> AND INVOICE.SB_INVOICE_DATE >= CONVERT(DATETIME,<cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_INVOICE_DATE_FROM#"> ) </CFIF> <CFIF SESSION.SEARCH_INVOICE_DATE_TO NEQ ""> AND INVOICE.SB_INVOICE_DATE <= CONVERT(DATETIME,<cfqueryparam cfsqltype="cf_sql_varchar" value="#SESSION.SEARCH_INVOICE_DATE_TO# 23:59:59"> ) </CFIF> <CFIF SESSION.SEARCH_CREDIT_CARD NEQ ""> AND FP.SB_CHEQUE_NO like <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_CREDIT_CARD#%"> AND FP.SB_FUND_PAYMENT_METHOD = 'CC' </CFIF> <CFIF SESSION.SEARCH_CHEQUE_NO NEQ ""> AND FP.SB_CHEQUE_NO like <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_CHEQUE_NO#%"> AND FP.SB_FUND_PAYMENT_METHOD <> 'CC' </CFIF> <CFIF SESSION.SB_PAY_TYPE NEQ ""> AND FP.SB_FUND_PAYMENT_METHOD = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SB_PAY_TYPE#"> </CFIF> <CFIF SESSION.SEARCH_RECEIPT NEQ ""> AND FP.SB_FUND_PAYMENT_ID = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_RECEIPT#"> </CFIF> <CFIF SESSION.BATCH_NUM NEQ ""> AND VOUCHER.SB_CLAIM_NUMBER = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.BATCH_NUM#"> </CFIF> <CFIF SESSION.SEARCH_RECEIPT_DATE_FROM NEQ ""> AND RECEIPT.SB_CREATE_DATE >= CONVERT(DATETIME, <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_RECEIPT_DATE_FROM#">) </CFIF> <CFIF SESSION.SEARCH_RECEIPT_DATE_TO NEQ ""> AND RECEIPT.SB_CREATE_DATE <= CONVERT(DATETIME, <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#SESSION.SEARCH_RECEIPT_DATE_TO# 23:59:59">) </CFIF> <cfif session.SEARCH_INVOICE_FLAG neq ""> AND ERROR.SB_INVOICE_FLAG_CODE = '#session.SEARCH_INVOICE_FLAG#' </cfif> <cfif session.SEARCH_flag_status eq "O"> AND ERROR.SB_ERROR_DATE IS NOT NULL AND ERROR.SB_FINALISED_DATE IS NULL </cfif> <cfif session.SEARCH_flag_status eq "C"> AND ERROR.SB_FINALISED_DATE IS NOT NULL </cfif> <cfif session.search_flag_find_from neq ""> <cfif session.search_flag_find eq "O"> AND ERROR.SB_ERROR_DATE >= '#DateFormat(session.search_flag_find_from,"dd-mmm-yyyy")#' <cfelse> AND ERROR.SB_FINALISED_DATE >= '#DateFormat(session.search_flag_find_from,"dd-mmm-yyyy")#' </cfif> </cfif> <cfif session.search_flag_find_to neq ""> <cfif session.search_flag_find eq "O"> AND ERROR.SB_ERROR_DATE <= '#DateFormat(session.search_flag_find_to,"dd-mmm-yyyy")#' <cfelse> AND ERROR.SB_FINALISED_DATE <= '#DateFormat(session.search_flag_find_to,"dd-mmm-yyyy")#' </cfif> </cfif> <cfif SESSION.SEARCH_NEW_DEBTOR_SINCE neq ""> AND SB_DEBTOR.SB_UPDATE_DATE >= '#DateFormat(session.SEARCH_NEW_DEBTOR_SINCE,"dd-mmm-yyyy")#' AND PATIENT.SB_DEBTOR_ID <> INVOICE.SB_DEBTOR_ID AND INVOICE.SB_DEBTOR_ID IS NOT NULL </cfif> <CFIF SESSION.SEARCH_SB_MESSAGE_ID NEQ ""> AND CLAIM.SB_MESSAGE_ID = #SESSION.SEARCH_SB_MESSAGE_ID# </CFIF> <CFIF SESSION.SEARCH_SB_CLAIM_ID NEQ ""> AND CLAIM.SB_CLAIM_ID = #SESSION.SEARCH_SB_CLAIM_ID# </CFIF> </cfif> GROUP BY INVOICE.SB_INVOICE_PRINT_ID , PATIENT.SB_PATIENT_MRN, PATIENT.SB_HL7_SOURCE, PATIENT.SB_PATIENT_SURNAME, PATIENT.SB_PATIENT_OTHER_NAMES, PATIENT.SB_PATIENT_DOB, CASE WHEN INVOICE.SB_INVOICE_PRINT_ID IS NULL THEN 'NORMAL' ELSE 'GROUP' END, CASE WHEN INVOICE.SB_INVOICE_PRINT_ID IS NULL THEN INVOICE.SB_INVOICE_ID ELSE INVOICE.SB_INVOICE_PRINT_ID END, INVOICE.SB_INVOICE_DATE, CASE WHEN INVOICE.SB_INVOICE_PRINT_ID IS NULL THEN INVOICE.SB_INVOICE_NUMBER ELSE INVOICE_PRINT.SB_INVOICE_PRINT_INV_NO END <cfif session.imaging eq "N"> ,EP_TYPE.SB_EPISODE_TYPE_DESC, EPISODE.SB_HOSPITAL_CODE, EPISODE.SB_ADMISSION_DATE, EPISODE.SB_DISCHARGE_DATE </cfif> <CFIF SESSION.SEARCH_AMOUNT_OUTSTANDING NEQ ""> <!--- Group by an Invoice when performing an Outstanding Amomunt Search ---> ,INVOICE_PRINT.SB_INVOICE_PRINT_ID HAVING isnull(( SELECT SUM(ITEM3.SB_INVOICE_COST)-SUM(ISNULL(ITEM3.SB_HIC_AMOUNT_PAID,0) + ISNULL(ITEM3.SB_FUND_AMOUNT_PAID,0)) - SUM(ISNULL(ITEM3.SB_WRITEOFF_AMOUNT,0) + ISNULL(ITEM3.SB_ADJUST_AMOUNT,0)) FROM SB_INVOICE INVOICE3 INNER JOIN SB_INVOICE_ITEM ITEM3 ON INVOICE3.SB_INVOICE_ID = ITEM3.SB_INVOICE_ID WHERE INVOICE3.SB_INVOICE_PRINT_ID = INVOICE_PRINT.SB_INVOICE_PRINT_ID AND INVOICE3.SB_PATIENT_MRN = PATIENT.SB_PATIENT_MRN AND INVOICE3.SB_HL7_SOURCE = PATIENT.SB_HL7_SOURCE ), sum(ITEM.SB_INVOICE_COST)) >0 AND isnull(( SELECT SUM(ITEM3.SB_INVOICE_COST)-SUM(ISNULL(ITEM3.SB_HIC_AMOUNT_PAID,0) + ISNULL(ITEM3.SB_FUND_AMOUNT_PAID,0)) - SUM(ISNULL(ITEM3.SB_WRITEOFF_AMOUNT,0) + ISNULL(ITEM3.SB_ADJUST_AMOUNT,0)) FROM SB_INVOICE INVOICE3 INNER JOIN SB_INVOICE_ITEM ITEM3 ON INVOICE3.SB_INVOICE_ID = ITEM3.SB_INVOICE_ID WHERE INVOICE3.SB_INVOICE_PRINT_ID = INVOICE_PRINT.SB_INVOICE_PRINT_ID AND INVOICE3.SB_PATIENT_MRN = PATIENT.SB_PATIENT_MRN AND INVOICE3.SB_HL7_SOURCE = PATIENT.SB_HL7_SOURCE ), sum(ITEM.SB_INVOICE_COST)) <= #SESSION.SEARCH_AMOUNT_OUTSTANDING# </CFIF> ORDER BY <cfif session.search_order eq "PatientName"> PATIENT.SB_PATIENT_SURNAME, PATIENT.SB_PATIENT_OTHER_NAMES <cfelseif session.search_order eq "InvNo"> CASE WHEN INVOICE.SB_INVOICE_PRINT_ID IS NULL THEN INVOICE.SB_INVOICE_NUMBER ELSE INVOICE_PRINT.SB_INVOICE_PRINT_INV_NO END <cfelseif session.search_order eq "InvNoDesc"> CASE WHEN INVOICE.SB_INVOICE_PRINT_ID IS NULL THEN INVOICE.SB_INVOICE_NUMBER ELSE INVOICE_PRINT.SB_INVOICE_PRINT_INV_NO END desc <cfelseif session.search_order eq "InvDate"> INVOICE.SB_INVOICE_DATE <cfelseif session.search_order eq "InvDateDesc"> INVOICE.SB_INVOICE_DATE DESC <cfelseif session.search_order eq "InvBal"> ISNULL(( SELECT SUM(ITEM3.SB_INVOICE_COST)-SUM(ISNULL(ITEM3.SB_HIC_AMOUNT_PAID,0) + ISNULL(ITEM3.SB_FUND_AMOUNT_PAID,0)) - SUM(ISNULL(ITEM3.SB_WRITEOFF_AMOUNT,0) + ISNULL(ITEM3.SB_ADJUST_AMOUNT,0)) FROM SB_INVOICE INVOICE3 INNER JOIN SB_INVOICE_ITEM ITEM3 ON INVOICE3.SB_INVOICE_ID = ITEM3.SB_INVOICE_ID WHERE INVOICE3.SB_INVOICE_PRINT_ID = INVOICE.SB_INVOICE_PRINT_ID AND INVOICE3.SB_PATIENT_MRN = PATIENT.SB_PATIENT_MRN AND INVOICE3.SB_HL7_SOURCE = PATIENT.SB_HL7_SOURCE ),0) <cfelseif session.search_order eq "InvBalDesc"> ISNULL(( SELECT SUM(ITEM3.SB_INVOICE_COST)-SUM(ISNULL(ITEM3.SB_HIC_AMOUNT_PAID,0) + ISNULL(ITEM3.SB_FUND_AMOUNT_PAID,0)) - SUM(ISNULL(ITEM3.SB_WRITEOFF_AMOUNT,0) + ISNULL(ITEM3.SB_ADJUST_AMOUNT,0)) FROM SB_INVOICE INVOICE3 INNER JOIN SB_INVOICE_ITEM ITEM3 ON INVOICE3.SB_INVOICE_ID = ITEM3.SB_INVOICE_ID WHERE INVOICE3.SB_INVOICE_PRINT_ID = INVOICE.SB_INVOICE_PRINT_ID AND INVOICE3.SB_PATIENT_MRN = PATIENT.SB_PATIENT_MRN AND INVOICE3.SB_HL7_SOURCE = PATIENT.SB_HL7_SOURCE ),0) desc <cfelseif session.search_order eq "MRN"> PATIENT.SB_PATIENT_MRN <cfelse> PATIENT.SB_PATIENT_SURNAME, PATIENT.SB_PATIENT_OTHER_NAMES </cfif> set rowcount 0 </cfquery> >>> [EMAIL PROTECTED] 07/18/05 9:35 am >>> Speaking out of ignorance, but why not just store and pass the SQL as a variable? Many of my queries look like: <cfquery> #MyQueryString# </cfquery> This may not be best practice, though, look forward toi being corrected. Chad who will admit to watching "Annie" with his kid this weekend. On 7/18/05, Scott Thornton <[EMAIL PROTECTED]> wrote: > Hi, > > Is it possible to get hold of the sql string from a cfquery after it has executed? Particualrly, is it possible to get it even if debug is turned off? > > I have a particularly difficult search page, with mutliple table being included / excluded , and different group-bys depending on paramters.... and now the users want to print the page using Crystal Reports. My thoughts are to pass the query string to a stored procedure, and base the crystal report on it. > > using cfmx 6.1 > > cheers, > > > Scott Thornton, Programmer > Application Development > Information Services and Telecommunications > Hunter-New England Area Health Service > Phone RNH +61 2 49236078 > Fax +61 2 49236076 > > [EMAIL PROTECTED] > > > --- > You are currently subscribed to cfaussie as: [EMAIL PROTECTED] > To unsubscribe send a blank email to [EMAIL PROTECTED] > Aussie Macromedia Developers: http://lists.daemon.com.au/ > --- You are currently subscribed to cfaussie as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/ --- You are currently subscribed to cfaussie as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/ --- You are currently subscribed to cfaussie as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/ --- You are currently subscribed to cfaussie as: [email protected] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/
