Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Ребяты, уже неделю бьюсь над запросом Добавлено: 21.01.06 13:06  

Автор вопроса:  Seregahome
Ребяты, уже неделю бьюсь над запросом, pls help.
Ситуация следующая - есть две таблицы в Access'e: Приход и Расход с полями "НАИМ" и "КОЛИЧЕСТВО". Т.к. в будущем надо будет видеть когда, сколько и чего приходило каждый приход и расход фиксируется отдельной записью (ТОВАР1 пришел в кол-ве 20, а списываться может несколько раз по 5, а может его еще вообще не списывали ни разу). Мне нужен запрос выводящий текущее состояние товаров на складе. Вроде всё просто, но с количеством пробемы. Если делаеш через WHERE ПРИХОД.НАИМ = РАСХОД.НАИМ, то данные отражаются не корректно. Пробовал через ПРИХОД LEFT JOIN РАСХОД ON (ПРИХОД.НАИМ = РАСХОД.НАИМ), тоже ерунда получется в строках где списывали несколько раз или не разу. Кто знает как надо составить запрос, а может структуру БД подкорректировать.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 21.01.06 13:38
То есть справочника товаров нет, и ID товаров в таблицах, соответственно, тоже нет? Ужас какой.
И почему это не одна таблица? Приход и расход - это одна таблица должа быть. А тот, кто сделал две, ССЗБ.

Два запроса. Патамушта access не схавает такую вложенность. А может и схавает, попробуй одним.

SELECT SUM(количество), наим FROM Приход GROUP BY наим
UNION ALL
SELECT -SUM(количество), наим FROM Расход GROUP BY наим


SELECT SUM(количество), наим FROM Запрос1 GROUP BY наим

Ответить

Номер ответа: 2
Автор ответа:
 Seregahome



Вопросов: 39
Ответов: 24
 Профиль | | #2 Добавлено: 21.01.06 14:55
Вобшем, никто на роль гуру в SQL построении БД не претендовал. За совет спасибо. Встречный вопрос: Сформировать единую таблицу для прохода/расхода с полями ID и идентификатором 1/0 (приход/расход соотв.) не проблема. Как при этом должен будет выглядеть запрос?
И еще, насчет двух запросов, как это будет выглядеть в VB6. Вьюху делать? Одним не идет.

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 21.01.06 15:26
Не надо идентификатор 1/0 делать. Надо приход с плюсом писать, а расход с минусом. И тогда запрос будет
SELECT SUM(количество), наим FROM ПриходРасход GROUP BY наим


еще, насчет двух запросов, как это будет выглядеть в VB6.

Разумеется. Два запроса, сохранённые в access. Вызывать второй.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам