Здравствуйте, Рома Мик, Вы писали:
РМ>Здравствуйте, wildwind, Вы писали:
РМ>>>За один день я такое сделал, это было несложно, но как сделать за несколько дней?
W>>Добавь "GROUP BY date, id, buysell"
W>>В WHERE расширь диапазон "datetime between ... and ..."
РМ>Не выйдет вроде бы, у меня там подзапросы суммирующие за день... тое сть что-то вроде
РМ>РМ>select
РМ>id,
РМ>buysell=1
РМ>amount = (select sum(amount) where buysell=1 and datetime >= :report_date and datetime < :report_date + 1),
РМ>time1 = (select min(datetime) where buysell=1 and datetime >= :report_date and datetime < :report_date + 1),
РМ>...
РМ>from paper (табличка где все возможные бумажки)
РМ>where amount <> 0
РМ>union
РМ>тоже самое но для buysell=-1
РМ>
РМ>Или я чего-то не понял в предложении... (я в базах данных так и не рублю толком, все не досуг теорией овладеть, не так часто и надо.)
а если так попробовать переделать так
select
trunc(datetime),
id,
buysell,
sum(amount) ,
min(datetime) ,
max(datetime) ,
from paper (табличка где все возможные бумажки)
where amount <> 0
and buysell=1 and datetime >= :report_date and datetime < :report_date + 30
group by trunc(datetime)
union
select
trunc(datetime),
id,
buysell,
sum(amount) ,
min(datetime) ,
max(datetime) ,
from paper (табличка где все возможные бумажки)
where amount <> 0
and buysell=-1 and datetime >= :report_date and datetime < :report_date + 30
group by trunc(datetime)
W>>P.S. Биржевые котировки, что ли?
РМ>Биржевые операции, торговля бумажками