Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / по моему виновата структура БД / 6 сообщений из 6, страница 1 из 1
02.09.2005, 17:24
    #33249140
voffka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
по моему виновата структура БД
БД- склад
есть таблица движение
id
дата
от кого
кому
основание
общая сумма

другая таблица детали движения
id_движения
товар
количество
цена
....
проблема в следующем
как сделать оборотку тоесть

name от кого кому количество
--------------------------------------------------------
картошка А В 500
картошка В С 300
картошка С D 15

а необходимо получить

субконто : сальдо на начало: приход :расход: сальдо на конец
-------------------------------------------------------------------------
картошка : : 815 : 815 :
А 500
В 500 : 300
С 300 : 15
D 15 :
как можно это изобразить с помошью имеющихся таблиц?
если надо менять структуру
то подскажитечто конкретно и почему
...
Рейтинг: 0 / 0
02.09.2005, 17:43
    #33249192
voffka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
по моему виновата структура БД
столбцы съехали
...
Рейтинг: 0 / 0
06.09.2005, 18:13
    #33254775
UK0IAI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
по моему виновата структура БД
делается за 1 запрос. Из 3-х запросов через UNION.
Во вск таблицы - добавить поле - тип дока И просто флаг - (1 или -1)
Чтобы четко различать приход_расход. Тпп дока поможет "исключать" из выборки , например, внутренние обороты (перемещение).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
select 
   ID_товар,
   sum(Приход),
   sum(Расход),
   sum(Приход) - sum(Расход) as СТАЛО
from
(  
select
    ID_товар, 
   sum (общая сумма * flag) as БЫЛО,
    0   as ПРИХОД,
    0   as РАСХОД
from ......
where .....
group by ID_товар
UNION
select 
   ID_товар, 
    0   as БЫЛО,
   общая сумма  as ПРИХОД,
    0   as РАСХОД
from ......
where flag =  1 .....
group by ID_товар
UNION
select 
   ID_товар, 
    0   as БЫЛО,
    0  as ПРИХОД,
   общая сумма  as РАСХОД
from ......
where flag = - 1 .....
group by ID_товар
) 
group by ID_товар
...
Рейтинг: 0 / 0
06.09.2005, 19:16
    #33254896
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
по моему виновата структура БД
Непонятно, зачем движение разложили на 2 таблицы, но сделать оборотку не проблема, смысл в типах документов, т.е. приход - по приходным, расход по расходным, остаток приходы-расходы+нач остаток либо, если есть регистры текущего состояния, тогда расчет остатка от конца остаток - приход+расход все естественно с учетом периода или даты, на которую считается остаток.
...
Рейтинг: 0 / 0
06.09.2005, 20:06
    #33254954
по моему виновата структура БД
Валентин КНепонятно, зачем движение разложили на 2 таблицы.

IMHO по одному коду движения перемещаются различные товары...

ИМХО а трудно было не понять?
...
Рейтинг: 0 / 0
07.09.2005, 13:33
    #33256279
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
по моему виновата структура БД
erwertwrwerwerwerwerwr Валентин КНепонятно, зачем движение разложили на 2 таблицы.

IMHO по одному коду движения перемещаются различные товары...

ИМХО а трудно было не понять?

Смысл в хранении движения, а не того, что разные товары перемещаются, это и так понятно, если подразумевается движение товара. Есть несколько подходов к данной реализации и та, которая у автора вопроса - не самая удачная, что я собственно и осветил. Но она не настолько неудачная, чтобы с ней нельзя было нормально работать...
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / по моему виновата структура БД / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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