cornievs wrote:
> Is there a way I can speed up the following query?
> 
> Select CODE, STKCODE, DESCRIPTION from COUNT_SHEETS_DETAIL where code 
> STARTING WITH 'TPL' and STKCODE in (Select STKCODE from (Select STKCODE, 
> COUNT(STKCODE) as COUNT1 from COUNT_SHEETS_DETAIL where code STARTING WITH 
> 'TPL' GROUP BY STKCODE order by STKCODE  ) where COUNT1 > 1) order by STKCODE

First of all, you can remove inner ORDER BY, it only slows things down.

Here are some faster queries:

1. Assuming different CODE for the same resulting STKCODE:

select code, stkcode, description
from count_sheets_detail d1
where code starting with 'TPL'
and exists (
select 1
from count_sheets_detail d2
where d1.stkcode = d2.stkcode
and d2.code starting with 'TPL'
and d1.code <> d2.code )
order by 2;


2. If you use Firebird 2.1 or above:

select CODE, STKCODE, DESCRIPTION
from count_sheets_detail d1
join (
  select STKCODE, COUNT(STKCODE) as COUNT1
  from COUNT_SHEETS_DETAIL
  where code STARTING WITH 'TPL'
  GROUP BY STKCODE
)
order by 2

HTH

-- 
Milan Babuskov

==================================
The easiest way to import XML, CSV
and textual files into Firebird:
http://www.guacosoft.com/xmlwizard
==================================

Reply via email to