Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Текст запроса. [D6, Access]


V-A-V ©   (2005-09-09 14:30:00) 

Народ помогите срставить запрос. Голова пухнет, ни как не соображу.
Задача:
Есть три таблицы Товары (Далее T), Заказы (далее З) и Список товаров по заказам (далее С).
Так вот нужно выбрать все Зу которых в Схоть у одного товара количество превышает фактический остаток в Т, но по совокупности всех заказов.

Не знаю коломбур получился или нет, если, что не понятно спрашивайте.


Lexer   (2005-09-09 16:03:00) [1]

сорри, вариант не подходит


Lexer   (2005-09-09 16:01:00) [2]

Еще вариант, может прокатит, не проверял

SELECT DISTINCT Z.code
FROM Список товаров по заказам C
INNER JOIN Заказы Z
ON C.ZakazId = Z.ZakazId
INNER JOIN Товары Т
ON C.TovarId = T.TovarId
GROUP BY Z.code
HAVING SUM(C.Kol) >T.Ostatok


Stanislav   (2005-09-09 15:55:00) [3]

1-й запрос "З1": Select TovarID, F1=sum(kol) from C
2-й запрос "З2": Select T.TovarID from З1 inner join T
on T.TOVARID=З1.TOVARID
where F1>OSTATOK
3-й запрос: SELECT DISTINCT (C.KODZAK) FROM З2 INNER JOIN C on C.tovarID=З2.TOVARID


V-A-V   (2005-09-09 15:21:00) [4]

> .Е. Если на заказе 1 товара "А" 5 шт на заказе 2 товара "А" 7 шт А остаток 10, то нужно выбрать заказы 1 и 2. Правильно?

Да правильно. Так и надо.


Stanislav   (2005-09-09 15:12:00) [5]

Т.Е. Если на заказе 1 товара "А" 5 шт
         на заказе 2 товара "А" 7 шт
А остаток 10, то нужно выбрать заказы 1 и 2. Правильно?


Lexer   (2005-09-09 15:11:00) [6]

Примерно так
SELECT DISTINCT(Z.code)
FROM Список товаров по заказам C
INNER JOIN Заказы Z
ON C.ZakazId = Z.ZakazId
INNER JOIN Товары Т
ON C.TovarId = T.TovarId
WHERE C.Kol >T.Ostatok


V-A-V   (2005-09-09 14:47:00) [7]

> структуру таблиц, как минимум.

Товары: TovarId, Name, Ostatok
Заказы: ZakazId, Code
Список товаров по заказам: Id, ZakazId, TovarId, Kol

Это конечно не оригинальная структура но для решения задаяи я думаю пойдет.


Fay   (2005-09-09 14:44:00) [8]

2 Val ©   (09.09.05 14:41) [1]
>> структуру таблиц, как минимум.
далее СТКМ 8)


Val   (2005-09-09 14:41:00) [9]

структуру таблиц, как минимум.


Наверх

Титульная страница Поиск, карта сайта Написать письмо