Форум: "Базы";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
ВнизТекст запроса. Найти похожие ветки
← →
V-A-V © (2005-09-09 14:30) [0]Народ помогите срставить запрос. Голова пухнет, ни как не соображу.
Задача:
Есть три таблицы Товары (Далее T), Заказы (далее З) и Список товаров по заказам (далее С).
Так вот нужно выбрать все З у которых в С хоть у одного товара количество превышает фактический остаток в Т, но по совокупности всех заказов.
Не знаю коломбур получился или нет, если, что не понятно спрашивайте.
← →
Val © (2005-09-09 14:41) [1]структуру таблиц, как минимум.
← →
Fay © (2005-09-09 14:44) [2]2 Val © (09.09.05 14:41) [1]
>> структуру таблиц, как минимум.
далее СТКМ 8)
← →
V-A-V © (2005-09-09 14:47) [3]> структуру таблиц, как минимум.
Товары: TovarId, Name, Ostatok
Заказы: ZakazId, Code
Список товаров по заказам: Id, ZakazId, TovarId, Kol
Это конечно не оригинальная структура но для решения задаяи я думаю пойдет.
← →
Lexer © (2005-09-09 15:11) [4]Примерно так
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
← →
Stanislav © (2005-09-09 15:12) [5]Т.Е. Если на заказе 1 товара "А" 5 шт
на заказе 2 товара "А" 7 шт
А остаток 10, то нужно выбрать заказы 1 и 2. Правильно?
← →
V-A-V © (2005-09-09 15:21) [6]> .Е. Если на заказе 1 товара "А" 5 шт на заказе 2 товара "А" 7 шт А остаток 10, то нужно выбрать заказы 1 и 2. Правильно?
Да правильно. Так и надо.
← →
Stanislav © (2005-09-09 15:55) [7]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
← →
Lexer © (2005-09-09 16:01) [8]Еще вариант, может прокатит, не проверял
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
← →
Lexer © (2005-09-09 16:03) [9]сорри, вариант не подходит
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c