Hello,

I have following SELECT statement in my program (Delphi+sqlite3):

_________________________________________________________________________________________
select
id,power,
(select sum 
((strftime("%s",table2.endtime)-strftime("%s",table2.begintime))*table2.power) 
from table2 where table1.id=table1_id),
(
    select min(point) from points where points.table1_id=table1.id and 
point >=
        (select sum 
((strftime("%s",table2.endtime)-strftime("%s",table2.begintime))*table2.power) 
from table2 where table1.id=table2.table1_id)
),

(
    (
        select min(point) from points where points.table1_id=table1.id
        and point >=
        (select sum 
((strftime("%s",table2.endtime)-strftime("%s",table2.begintime))*table2.power) 
from table2 where table1.id=table2.table1_id )
    )
-
    (select sum 
((strftime("%s",table2.endtime)-strftime("%s",table2.begintime))*table2.power) 
from table2 where table1.id=table1_id)
) / power
from table1
where standing=1
group by table1.id
order by table1.id
________________________________________________________________________________________

This statement contains text that is repeated 4 times:

(select sum 
((strftime("%s",table2.endtime)-strftime("%s",table2.begintime))*table2.power) 
from table2 where table1.id=table2.table1_id)

How to reduce this statement and avoid double calculations?


Thanks,
Michael.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to