powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Сложный запрос
25 сообщений из 64, страница 1 из 3
Сложный запрос
    #39514140
sidiscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть три таблицы
Пункты
таблица KFR
P1, P2 и тд.
в пунктах есть точки A1, A2, И тд.
kfr ppsA1 P1A2 P1A3 P2

Операции в течении дня по точкам
Таблица OPA
sd- сумма дебет
sk - сумма кредит
dat -Дата
kfr sd sk datA1 10 0 01.09.2017A2 20 0 01.09.2017A2 0 15 01.09.2017

Баланс на каждый день по точке
Таблица BAL
si - исходящий баоланс
od - по дебету
ok - по кредиту
kfr dat si od okA1 01.09.2017 10 10 0A2 01.09.2017 5 20 15

необходимо получить итог по пункту
чтобы исходящий остаток si (пункта) был как сумма si точек
sv = si - od+ ok
dat si sd sk sv01.09.2017 15 10 0 001.09.2017 15 20 0 001.09.2017 15 0 015

Если в пункте одна точка я сделал так
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT
b.dat,b.si,o.sd, o.sk
(b.si - b.od + b.ok) AS sv
FROM
bal b, opa o
WHERE
o.dat=b.dat
AND
o.dat between '01.08.2017' AND '31.08.2017'
AND
o.kfr=b.kfr and b.kfr = 'A1'
ORDER BY
b.dat



как сделать для пункта с несколькими точками
...
Рейтинг: 0 / 0
Сложный запрос
    #39514143
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscom, ты так и не открывал учебник по SQL...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложный запрос
    #39514152
sidiscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,
трудно доходит, многое не понимаю, но стараюсь
...
Рейтинг: 0 / 0
Сложный запрос
    #39514153
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже на бухгалтерию. Дебет/Кредит, Сальдо/Бульдо.
...
Рейтинг: 0 / 0
Сложный запрос
    #39514155
sidiscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, так и есть
...
Рейтинг: 0 / 0
Сложный запрос
    #39514171
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscomтрудно доходит

предлагаю нырнуть в омут с головой

http://www.sql.ru/forum/964534-a/hranimye-agregaty-bez-konfliktov-i-blokirovok-recept
...
Рейтинг: 0 / 0
Сложный запрос
    #39514219
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscom,

Вы сами посмотрели бы sum, group by. Хотя бы в руководстве по FB. Не говоря уже о другой литературе. Действительно, не хочется азы объяснять.
...
Рейтинг: 0 / 0
Сложный запрос
    #39514246
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscomБаланс на каждый день по точке
Таблица BAL
интересно, а как у вас эта таблица заполняется?
...
Рейтинг: 0 / 0
Сложный запрос
    #39514515
sidiscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvsidiscomБаланс на каждый день по точке
Таблица BAL
интересно, а как у вас эта таблица заполняется?
тригер + процедуры после добавления записи в таблицу OPA
...
Рейтинг: 0 / 0
Сложный запрос
    #39514592
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscomkdvпропущено...

интересно, а как у вас эта таблица заполняется?
тригер + процедуры после добавления записи в таблицу OPA

А через месяц приходит бухгалтер и говорит - тут наших "контрагентов" в очередной раз прижопили и вот эти 10 машин мы должны типа купить у другой фирмы за другие деньги и в другие даты, а вот эти семь продать двум другим и тоже не как было ;)
...
Рейтинг: 0 / 0
Сложный запрос
    #39514593
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscomтригер + процедуры после добавления записи в таблицу OPA
"я так и знал". Повезло, что конфликтов по обновлению одной и той же записи нет. Операции, видимо, редкие.
В любом случае, придется учить sum и group by, об этом уже сказали.
...
Рейтинг: 0 / 0
Сложный запрос
    #39514594
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

правильно написанным триггерам на update и delete это не помешает.
...
Рейтинг: 0 / 0
Сложный запрос
    #39514601
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvsidiscomтригер + процедуры после добавления записи в таблицу OPA
"я так и знал". Повезло, что конфликтов по обновлению одной и той же записи нет. Операции, видимо, редкие.


Не операции редкие, а wait-транзакция и изменения приращениями, а не прочитал-изменил-записал.
...
Рейтинг: 0 / 0
Сложный запрос
    #39514602
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvСтарый плюшевый мишка,

правильно написанным триггерам на update и delete это не помешает.

Дим. Я столько наелся с хранимыми оборотными ведомостями с архивами... Там с глузду съедешь корректировать ФСЁ, и продавца, и покупателя, и цены, и количества, и даты, и себестоимость, и вычерпанность ГТД, а если, не дай бог, это сырьё на переработку разной степени глубины, в смысле замены кода ТНВД или нет, и всё через месяц-другой, когда прошло тысяч десять операций по каждому товару... И помесячно и поквартально. Храниться должно только то, что уже железно передано в фискальные органы.
...
Рейтинг: 0 / 0
Сложный запрос
    #39514603
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку - это я о бухгалтерии, услышав слово "баланс". Управленческий учёт, то есть, всё по честному, как оно и есть - это другая тема.
...
Рейтинг: 0 / 0
Сложный запрос
    #39514822
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкав смысле замены кода ТНВД

Может быть НГТД а не ТНВД?
...
Рейтинг: 0 / 0
Сложный запрос
    #39514823
Декларант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fraksСтарый плюшевый мишкав смысле замены кода ТНВД Может быть НГТД а не ТНВД?Неа.

НГТД = Неполная (предварительная) ГТД. : документ.
ТНВД = Товарная номенклатура внешнеэкономической деятельности. : справочник кодов товаров из туевой хучи томов.
...
Рейтинг: 0 / 0
Сложный запрос
    #39515564
sidiscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvsidiscomтригер + процедуры после добавления записи в таблицу OPA
"я так и знал". Повезло, что конфликтов по обновлению одной и той же записи нет. Операции, видимо, редкие.
В любом случае, придется учить sum и group by, об этом уже сказали.

Sum и group by по таблице BAL я разобрался (надеюсь)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select b.dat, sum(b.si) as si from bal  b
join kfr k on b.kfr = k.kfr
where
k.pps = 'P1'
and
b.dat between '01.08.2017' AND '31.08.2017'
and
b.nls = '241.1'
group by k.pps,  b.dat



как добавить строки с OPA?
...
Рейтинг: 0 / 0
Сложный запрос
    #39515588
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscom,

а какую информацию нужно вытянуть из OPA?
...
Рейтинг: 0 / 0
Сложный запрос
    #39515596
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscomSum и group by по таблице BAL я разобрался (надеюсь)

нет. должно быть

select k.pps, b.dat, sum(b.si)
group by k.pps, b.dat

то есть, в селекте выбираем столбцы group by плюс агрегаты.
...
Рейтинг: 0 / 0
Сложный запрос
    #39515653
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvsidiscomSum и group by по таблице BAL я разобрался (надеюсь)

нет. должно быть

select k.pps, b.dat, sum(b.si)
group by k.pps, b.dat

то есть, в селекте выбираем столбцы group by плюс агрегаты.

Необязательно. В group by могут быть поля, которых нет в select. Нечитаемо, это да.
...
Рейтинг: 0 / 0
Сложный запрос
    #39515658
sidiscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvsidiscomSum и group by по таблице BAL я разобрался (надеюсь)

нет. должно быть

select k.pps, b.dat, sum(b.si)
group by k.pps, b.dat

то есть, в селекте выбираем столбцы group by плюс агрегаты.

Спасибо большое

KreatorXXIsidiscom,

а какую информацию нужно вытянуть из OPA?

все строки за указанный период и принадлежащие пункту (например P1)
...
Рейтинг: 0 / 0
Сложный запрос
    #39515663
sidiscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я видимо не правильно объяснил
необходимо к строкам OPA добавить столбец исходящий остаток пункта на дату и вычисляемый входящий остаток на дату
и это все за указанный период
...
Рейтинг: 0 / 0
Сложный запрос
    #39515793
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sidiscom,

Да всё равно непонятно (видимо, не только мне, поскольку все молчат). В чём разница таблиц BAL и OPA? Мне показалось BAL это уже на основе OPA. Нет?
...
Рейтинг: 0 / 0
Сложный запрос
    #39515823
sidiscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KreatorXXIsidiscom,

Да всё равно непонятно (видимо, не только мне, поскольку все молчат). В чём разница таблиц BAL и OPA? Мне показалось BAL это уже на основе OPA. Нет?

да, в таблице BAL формируется исходящий остаток и обороты по дебету и кредиту за день
...
Рейтинг: 0 / 0
25 сообщений из 64, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Сложный запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]