Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: any ideas on how to improve this query

Re: any ideas on how to improve this query

From: Sybrand Bakker <postbus_at_sybrandb.demon.nl>
Date: Wed, 22 Jun 2005 22:09:12 +0200
Message-ID: <d9hjb15dorn6csdeeap5pjmf61qad8v3q3@4ax.com>


On 22 Jun 2005 12:27:40 -0700, "lou_nyc" <lnlx_at_aol.com> wrote:

>SELECT *
>FROM (
>SELECT ssl_user_code,
> ssl_user_code ssl,
> i.container,
> out_date,
> cl.code LENGTH_CODE,
> out_trucker_code,
> decode ((SELECT ih.in_date
> FROM his_containers ih
> WHERE ih.container = i.container
> AND ih.container_id > i.container_id
> AND ih.container_id = (SELECT MIN(ihh.container_id)
> FROM his_containers ihh
> WHERE ihh.container_id >
>i.container_id
> AND ihh.container =
>i.container)), NULL,
> (SELECT ic.in_date
> FROM inv_containers ic
> WHERE ic.container = i.container)) IN_DATE,
> decode ((SELECT ih.in_trucker_code
> FROM his_containers ih
> WHERE ih.container = i.container
> AND ih.container_id > i.container_id
> AND ih.container_id = (SELECT MIN(ihh.container_id)
> FROM his_containers ihh
> WHERE ihh.container_id >
>i.container_id
> AND ihh.container =
>i.container)), NULL,
> (SELECT ic.in_trucker_code
> FROM inv_containers ic
> WHERE ic.container = i.container)) IN_TRUCKER_CODE,
> decode ((SELECT ih.chassis
> FROM his_containers ih
> WHERE ih.container = i.container
> AND ih.container_id > i.container_id
> AND ih.container_id = (SELECT MIN(ihh.container_id)
> FROM his_containers ihh
> WHERE ihh.container_id >
>i.container_id
> AND ihh.container =
>i.container)), NULL,
> (SELECT ic.chassis
> FROM inv_containers ic
> WHERE ic.container = i.container)) IN_CHASSIS
> FROM HIS_containers i,
> container_masters cm,
> tml_container_lhts clht,
> tml_container_lengths cl
> WHERE i.chassis IS NULL AND
> i.out_mode = 'T'
> -- i.out_date BETWEEN to_date ('1-JAN-2005','DD-MON-YYYY') AND
>to_date ('01-FEB-2005','DD-MON-YYYY')*/
>-- AND SSL_USER_CODE = 'ACL'
> -- AND ((OUT_DATE BETWEEN TO_DATE('01-MAR-05 00:00:00', 'DD-MON-RR
>HH24:MI:SS')
> -- AND TO_DATE('01-MAR-05 23:59:59', 'DD-MON-RR
>HH24:MI:SS'))
> -- OR
> -- (IN_DATE BETWEEN TO_DATE('01-MAR-05 00:00:00', 'DD-MON-RR
>HH24:MI:SS')
> -- AND TO_DATE('01-MAR-05 23:59:59', 'DD-MON-RR
>HH24:MI:SS')))
> AND
> cm.container = i.container AND
> cm.lht_code = clht.code AND
> clht.length_code = cl.code AND
> decode ((SELECT ih.container_id
> FROM his_containers ih
> WHERE ih.container = i.container
> AND ih.container_id > i.container_id
> AND ih.container_id = (SELECT MIN(ihh.container_id)
> FROM his_containers ihh
> WHERE ihh.container_id >
>i.container_id
> AND ihh.container =
>i.container)), NULL,
> (SELECT ic.container_id
> FROM inv_containers ic
> WHERE ic.container = i.container)) IS NOT NULL
>)
>WHERE
>SSL_USER_CODE = 'ACL'
>AND
>((OUT_DATE BETWEEN TO_DATE('01-MAR-05 00:00:00', 'DD-MON-RR
>HH24:MI:SS')
> AND TO_DATE('31-MAR-05 23:59:59', 'DD-MON-RR
>HH24:MI:SS'))
> OR
> (IN_DATE BETWEEN TO_DATE('01-MAR-05 00:00:00', 'DD-MON-RR
>HH24:MI:SS')
> AND TO_DATE('31-MAR-05 23:59:59', 'DD-MON-RR
>HH24:MI:SS')))
>and in_date is null

Convert the bunch of correlated inline views into *ONE* join.

--
Sybrand Bakker, Senior Oracle DBA
Received on Wed Jun 22 2005 - 15:09:12 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US