Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 проблемы с составлением запроса  [new]
denis_stell
Member

Откуда:
Сообщений: 255
Добрый день, уважаемые форумчане, подскажите как составить запрос
суть в чем:
есть таблица с балансом,предположим:
bal
с полями id,acc_code,ddate,restrub

также есть таблица со счетами
acc
с полями: id,acc_code,balance2,currency_code

необходимо подсчитать за определенную дату по каждому балансовому счету 2 го порядка исходящий остаток
сделал так:
select
A.DDATE,b.BALANCE2,b.CURRENCY_CODE,sum(a.RESTRUB) as restrub from bal a,acc b where a.ACC_CODE=b.CODE and a.DDATE='20131120' group by a.DDATE,b.BALANCE2,b.CURRENCY_CODE

т.е. поле BALANCE2 - балансовый счет второго порядка, т.е. с 1 по 5 символ счета
CURRENCY_CODE - валюта (810,840 итд)
с запросом всё ок, далее возникла необходимость включить в запрос те счета,у которых были проводки, но не в этом дне,т.е.
в 20.11.2013 году были проводки по счетам
30306810%001
30306810%002
итд
и к примеру была проводка со счетом
30306810%022, предположим 06.11.2013, после этого остаток у счета не менялся, мне нужно чтобы в первый мой запрос попали все суммы и подсчитать соответственно по ним, по каждому балансовому счету 2 го порядка исходящий остаток на 20.11.2013(произвольную дату)

Думал сделать таким образом:
если у счета, к примеру тот что я привел выше, не было после 06.11.2013 движеия, то тянуть его остаток до 20.11.2013 и в селекте он уже конечно будет, но это и не красиво и не охота
подумал в сторону вложенных запросов, но столкнулся с проблемой, как реализовать?


начал писать так:
SELECT t.*
FROM bal t, (
 
SELECT id, MAX( DDATE ) AS dat
FROM bal where DDATE<='20131120' and ACC_CODE like '303%'
GROUP BY id
)t2
WHERE t.DDATE = t2.dat and t.id=t2.id order by ACC_CODE,DDATE


но не пойму, мне кажется не в ту сторону копаю
13 янв 14, 15:01    [15408387]     Ответить | Цитировать Сообщить модератору
 Re: проблемы с составлением запроса  [new]
Добрый Э - Эх
Guest
чем разводить такую простыню совершенно неясных словесных объяснений - лучше приведи репрезентативный набор тестовых данных и желаемый результат на них...
13 янв 14, 19:54    [15410185]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить