Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Вниз

проблема с объединением 2-х и более таблиц   Найти похожие ветки 

 
Jiny   (2005-01-11 20:16) [0]

Проблема такая :
есть 2 табл. приход.и расход. кассовые ордера .
Как их связать таким образом, чтобы можно было отобразить и приход и расход за один день, примерно так :

Дата       Ост.нач.    Приход       Расход    Ост.кон.
--------------------------------------------------
12.01.05   100          90            110       80
13.01.05   80           120           20       180
14.01.05   180          40            20       200
и т.д.

Как это можно сделать ?


 
DSKalugin ©   (2005-01-11 20:30) [1]

а где структура таблиц?
каким образом связаны 2е таблицы?

П.С. не достаточноисходных данных для решения этого простого вопроса


 
Rule ©   (2005-01-11 20:41) [2]

DSKalugin ©   (11.01.05 20:30) [1]
присоединяюся, структуру таблиц в студию


 
Yurisimus   (2005-01-12 06:37) [3]

Структура таблиц такая (упрощенно):

id - уникальный идентификатор (INteger)
num_doctype - тип документа (Integer)
data_sd - дата выписки документа (timestamp)
num_kl - № контрагента (integer)
name_kl - наименование контрагента varchar(50)
sum_sd - numeric(15,2) сумма документа
note_sd - varchar(50) комментарий
+ штук 20 полей косвенных полей


 
jiny   (2005-01-12 06:39) [4]

обе таблицы с одинаковой структурой


 
jiny   (2005-01-12 07:52) [5]

И дабы не выходить за пределы данной темы вопрос еще такой :
есть 5 таблиц ( tovar,fr1_1,fr1_2,fp1_1,fp1_2)

tovar - товары , вот структура

num_tov - номер товара (integer),
num_firm - номер завода-изготовителя (integer),
name_firm - имя  завода-изготовителя (varchar)
ost_tek - остаток текущий


fr1_1,fp1_1 - шапка расходных,приходных фактур , вот структура

id - integer
data_sd timestamp,
num_doctype integer,
num_kl integer,
name_kl varchar(50),
sum_sd numeric(15,2)


fr1_2,fp1_2 - спискок расходных,приходных фактур , вот структура

id - связка с шапкой к списку integer
id_tov - связка с таблицей Tovar integer
kol - количество проданного/купленного товара
cost_sd - цена по документу


нужно чтобы при запросе он выдавал следующую информацию, к примеру
по фирме (tovar.num_firm=35)

По фирме Рациофарм за период с 01.01.05 по 11.01.05

   Товар       Закуп              Продано      Остаток
--------------------------------------------------------
   Диклофенак   300                200           100
   Гепабене     250                 50           200
   Актиферрин   300                150           150
и т.д.
--------------------------------------------------------
т.е. брать приход и расход где
id_tov in (select num_tov from tovar where num_firm=35)
и объединять все это в разрезе каждого товара


 
Johnmen ©   (2005-01-12 09:16) [6]

Напрягаться лень, но [0] одним запросом труднореализуем.
Рекомендую писать хранимую процедуру.


 
ЮЮ ©   (2005-01-12 09:25) [7]

[4] + к том уже излишне ресурсоёмок, т.к. "Ост.нач." придется пересчитывать для каждой записи результирующего НД, а в ХП достаточно для первого дня периода.


 
jiny   (2005-01-12 09:52) [8]

можно конкретный пример как мне все это реализовать, заранее благодарен


 
jiny   (2005-01-12 11:10) [9]

т.е. я еще не работал с ХП, можно примерчик как мне реализовать сво сабж и 1, и 2 ?


 
jiny   (2005-01-12 12:03) [10]

Я так понимаю, все спят


 
msguns ©   (2005-01-12 12:16) [11]

А вот вопросы еще:
А зачем приходы в один стакан, а расходы - в другой, если структура идентична ? И, если уж разлили в два разных стакана, то на кой ляд нужен "тип документа" ?
Судя по всему, справочники не для джидаев ? Если у меня 10000 разных товаров от одного завода-изготовителя, то в справочнике товаров его название будет повторено 10000 раз ? То же относится и к "клиентам".
Документы типа "Возвраты" или "Списания" не существуют в конторе как класс ? А если появятся, то мы для них заведем соответствующий "джентельменский набор" таблиц (стаканов) ?
Цена закупки товара что, не меняется ? А если меняется, то где видно почем купили-почем продали, т.е. как бы реализованную торговую наценку (или доход от продажи, если опт).  Или учет по средневзвешенному ? НДС в Коране не предусмотрен ?

Мдя, представляю сколько будет зубовного скрежета у пользователей. Нет данных о складе, отсутствует даже намек на маркировку товара, его упаковку, ед.измерения, срок хранения и т.д. Бухгалтерией даже не пахнет.. Где данные о проплатах, заявках и т.д ?


 
msguns ©   (2005-01-12 12:18) [12]

Вы не с того начинаете, уважаемый. Здание не строится с трубы или оконной рамы на мансарде. Оно сначала проектируется вообще-то


 
Johnmen ©   (2005-01-12 12:45) [13]

>msguns ©   (12.01.05 12:16) [11]

Во, что ты от него хочешь...:)
Это же полновесная система. А для её реализации надо въезжать в предметную область, как минимум !


 
jiny   (2005-01-12 14:24) [14]

для msguns
Опять повторюсь :
>>Структура таблиц такая (упрощенно):
слово УПРОЩЕННО вам о чем нибудь говорит ?!
в каждой из этих таблиц, как минимум 100 полей, просто все поля я не стал упоминать, т.к. к вопросу они не относяться, обос%ать продукт всегда просто, а вы попробуйте помочь, если вы считаетесь не ламером.
Если вернуться к разговору о "стаканах", то скажу, что разлил я их по разным "стаканам", т.к. механизм минусования/плюсования со скада я реализовал посредством триггеров, а объединить посредством UNION ничего не стоит, так что если не можете ответить на поставленный вопрос, не портите хотябы настроение, и так без факторов хватает.
Насчет "зубовного скрежета у пользователей"
Пока не слышал, надеюсь поделитесь опытом.
мда, доброжелателей не нашлось... обидно


 
Anatoly Podgoretsky ©   (2005-01-12 14:38) [15]

А ты на на слабо не бери, результат будет совсем другой. Сообственно ты уже отсеял большую часть тех, кто пожелал бы ответить, а теперь это желание потеряли.


 
jiny   (2005-01-12 14:51) [16]

А я и не беру, просто хотел получить ответ на заданный вопрос, возможно я немного неточно его сформулировал вначале, но потом я дал структуру полей, касающихся вопроса, опять же повторюсь : упрощенную, т.к. мне нет смысла упоминать, что по набранным  документам ведуться проводки на основании нового плана счетов, который, как ни странно тоже у меня есть в базе, про то что все хозяйственные и финансовые операции ведуться , учет в бухгалтерии идет по себестоимости реализованной продукции и много того, что вобщем то не имело отношения к моему вопросу, адресованному программистам кто сталкивался с этим.
Так что ни на какое слабо я никого не беру, есть вопрос - возможно должен быть ответ, я так думаю...


 
msguns ©   (2005-01-12 15:08) [17]

Для того, чтобы получить исчерпывающий ответ на вопрос, надо давать такие же исчерпывающие исходные данные.
Например, я не вижу смысла в наборе данных, указанном в сабже как цель запроса.
Есть оборотные ведомости, есть сальдовые, есть оборотно-сальдовые. Зачем изобретать новые ? Если же Вам надо другую, то хотя бы укажите для кого это надо: администрации, кладовщика, бухгалтера, менеджеров и т.д. По крайней мере это хоть наведет на мысль о том, что именно Вам надо получить. Не исключено, что Вы не совсем хорошо представляете себя специфику указанных категорий персонала и здесь Вас поправят или дадут хороший совет.
Я не считаю себя Мастером, но, поверьте, кое-что соображаю и в торговле, и в складском учете вообще. Да и в SQL в общем-то не новичок.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.035 c
3-1105975334
andrey111
2005-01-17 18:22
2005.02.13
Изменение высоты PageFooter


14-1106242977
Stef
2005-01-20 20:42
2005.02.13
Помогите найти компонент


14-1106394233
Поручик
2005-01-22 14:43
2005.02.13
Много ли вы видели компьютеризированных библиотек?


9-1099832251
ASH
2004-11-07 15:57
2005.02.13
Звук для игр на Delphi..


1-1106722139
Dr. Genius
2005-01-26 09:48
2005.02.13
Путь в ShellTreeView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский