Ouch... doing conversions in the where clause is gonna' kill your
performance.

I'm not sure concatenations work in the where clause, but something like
this might have better performance:
WHERE ( pur.chemical_code LIKE '%185' OR pur.chemical_code LIKE '%573' )
AND ( pur.epa_registration_num = prod.mfg_firmno || prod.label_seq_no ||
prod.revision_no || prod.reg_firmno
        OR ( prod.reg_firmno = prod.mfg_firmno
                AND pur.epa_registration_num = prod.mfg_firmno ||
prod.label_seq_no || prod.revision_no || '0' ) )

On Wed, Mar 12, 2008 at 5:14 PM, Ian Skinner <[EMAIL PROTECTED]> wrote:

> With much blood, sweat and tears and finally finding a source of help.
> I know of this:
>
> SELECT
>    pur.epa_registration_num,
>    prod.mfg_firmno,
>    prod.label_seq_no,
>    prod.revision_no,
>    prod.reg_firmno
>
> FROM
>    pur89raw pur,
>    product prod
>
> WHERE
>    (pur.chemical_code LIKE '%185' OR pur.chemical_code LIKE '%573') AND
>
>    cast(substr(pur.epa_registration_num,0,7) AS number(7))  =
> prod.mfg_firmno AND
>    cast(substr(pur.epa_registration_num,8,5) AS number(5))  =
> prod.label_seq_no AND
>    cast(substr(pur.epa_registration_num,13,2) AS char(2))  =
> prod.revision_no AND
>     cast(decode(rtrim(substr(pur.epa_registration_num,15,7)),0,
> substr(pur.epa_registration_num,0,7),
> substr(pur.epa_registration_num,15,7)) AS number(7))  =  prod.reg_firmno
>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;160198600;22374440;w

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:301109
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to