Предположим, у меня есть две таблицы
- Налоги
- Продукты
Я хочу выбрать сумму значений продукта, умноженную на их соответствующее значение НДС вТаблица налогов в процентах, где дата продукта меньше даты налога, а mDate
меньше даты продукта, сгруппирована по НДС или ttid
Например
Taxes products
ttid date value mDate Vat value date
0 02-06-11 20 03-07-11 0 15 01-07-11
1 03-07-11 10 03-08-11 0 15 01-07-11
0 03-07-11 14 03-08-11 0 15 02-08-11
1 03-08-11 15 03-09-11 1 10 04-07-11
1 10 06-08-11
1 10 08-09-11 --this will not include
Таким образом, мой результат будет выглядеть следующим образом.
TTId Value
0 3+3+2.1=8.1
1 1.5+1=2.5
Запрос, который я написал до сих пор.
select sum
(
(cast(t.Value as float)
*
(cast(x.value as float)/100)
)
as 'Vat'
,x.ttid
from prducts t
,taxes x where x.ttid=t.vat and x.mDate>t.date and x.date<=t.date
group by x.ttid
Кто-нибудь мне поможет?