Topic: Подскажите, что я не правильно делаю в запросе для MySQL

Запрос должен делать выборку между задаваемыми значениями datetime

Замучался искать ошибку

возвращает error near 'select
cast(sum(economy.ttlfrt * periodTime) as decimal(15,2)) from
(...on line 16

+++


variables in date and time picker:
perbeg
perend

table economy:
values:

voynumber, int
begin  , datetime
end, datetime
ttlfrt, currency

++++

select
voynumber,
begin,
end,
ROUND ((TIME_TO_SEC(TIMEDIFF(economy.begin, economy.end))/86400),4) as fullvoyTime,

  case
      when economy.begin < {perbeg} and economy.end > {perend} then TIME_TO_SEC(TIMEDIFF({perbeg}, {perend}))
      when economy.begin >= {perbeg} and economy.end <= {perend} then TIME_TO_SEC(TIMEDIFF( economy.begin, economy.end))
      when economy.begin < {perbeg} and economy.end <= {perend} then TIME_TO_SEC(TIMEDIFF( {perbeg}, economy.end))
      when economy.begin >= {perbeg} and economy.end > {perend} then TIME_TO_SEC(TIMEDIFF( economy.begin, {perend}))
   end
    as periodTime

from economy
where economy.begin <= {perbeg} and economy.end >= {perbeg} or economy.begin <= {perend} and economy.end >= {perbeg},


select
cast(sum(economy.ttlfrt * periodTime) as decimal(15,2)) from
(
select
voynumber,
ROUND ((TIME_TO_SEC(TIMEDIFF(economy.begin, economy.end))/86400),4) as fullvoyTime,
   case
      when economy.begin < {perbeg} and economy.end > {perend} then TIME_TO_SEC(TIMEDIFF({perbeg}, {perend}))
      when economy.begin >= {perbeg} and economy.end <= {perend} then TIME_TO_SEC(TIMEDIFF( economy.begin, economy.end))
      when economy.begin < {perbeg} and economy.end <= {perend} then TIME_TO_SEC(TIMEDIFF( {perbeg}, economy.end))
      when economy.begin >= {perbeg} and economy.end > {perend} then TIME_TO_SEC(TIMEDIFF( economy.begin, {perend}))
   end as periodTime,
  ttlfrt,
  ttlfrt / TIME_TO_SEC(TIMEDIFF( economy.begin, economy.end)) as tariff  from economy

where economy.begin <= {perbeg} and economy.end >= {perbeg} or economy.begin <= {perend} and economy.end >= {perbeg}) as final

Re: Подскажите, что я не правильно делаю в запросе для MySQL

у вас после секции WHERE идет снова SELECT

where economy.begin <= {perbeg} and economy.end >= {perbeg} or economy.begin <= {perend} and economy.end >= {perbeg},


select
Dmitry.