Re: replace subquery with left join
From: Serge Rielau <srielau_at_ca.ibm.com>
Date: Thu, 07 Nov 2002 12:52:46 -0500
Message-ID: <3DCAA86E.9030104_at_ca.ibm.com>
FROM items AS I
Date: Thu, 07 Nov 2002 12:52:46 -0500
Message-ID: <3DCAA86E.9030104_at_ca.ibm.com>
I can't promiss this is faster... but it might. Heck I can't even promiss it's correct ;-)
WITH P1 AS (SELECT itemno, price, valdate
FROM PRICES WHERE valdate <= (DAYS(CURDATE()) - 693594) P2 AS (SELECT itemno, price, valdate max(valdate) over (group by itemno) as maxvaldate FROM P1) P3 AS (SELECT itemno, price FROM P2 WHERE valdate = maxvaldata)SELECT I.itemno, P.price
FROM items AS I
LEFT OUTER JOIN prices AS P ON I.itemno = P.itemno;
Cheers
Serge
-- Serge Rielau DB2 UDB SQL Compiler Development IBM Software Lab, Toronto Visit DB2 Developer Domain at http://www7b.software.ibm.com/dmdd/Received on Thu Nov 07 2002 - 18:52:46 CET