![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите по SQL [D6, Access]
DimonS © (2005-12-27 07:59:00)Добрый день всем и с наступающим НГ!
А вопрос вот какой, ламерский, наверное.
Есть БД (Access). В ней имеются 3 таблицы:
Справочник заказчиков:
Kod - уникальный код заказчика;
Name - наименование его же.
Справочник техники:
Cod - код данной техники;
Cena - цена 1 моточаса, у всех разная.
Таблица Товарно-Транспортных накладных:
Cod - код техники;
Kod - код заказчика;
Chas - отработанные часы.
Можно ли соединить эти таблицы одним запросом так, чтобы получить сводные данные за месяц - Наименование заказчика, Отработанные часы по ВСЕЙ технике и общую сумму за месяц для каждого заказчика, типа такой:
Наменование | Отработано, ч | Сумма
Если можно так сделать, то подскажите, плз, как, желательно с примером, т.е. сам запрос.
DimonS (2005-12-27 10:00:00) [1]Все, спасибо всем. Просто в таблице заказчиков поле Nom было текстового типа, заменил - все стало ОК!
Johnmen (2005-12-27 09:12:00) [2]...where Z.Nom='B.Zakaz' and...
"Поспешишь - людей насмешишь" (c)
DimonS (2005-12-27 09:10:00) [3]То evvcom
Это я привел просто левые коды.
Вот, пишу такой код:
select Z.Name, Sum(T.Cena03*B.Chas) from Zak Z,Tehnica T,TTN B where Z.Nom='B.Zakaz' and B.Сod=T.Cod Group By Z.Name
В результате выдается пустая таблица. В чем ошибка?
Zak - заказчики, Tehnica - техника, TTN - товарки.
menart (2005-12-27 09:09:00) [4]Да и добавь Group By Name
Извеняюсь забыл
evvcom (2005-12-27 08:39:00) [5]
> Sum(Cena)
Sum(Cena * Chas)
> Kod
> Cod
Сам-то запомнил какой код чей? Именовать поля/переменные надо более говорящими именами. Имхо.
DimonS (2005-12-27 08:32:00) [6]Такая не катит. Во-первых, цены складывать нельзя. Нужно именно перемножить цену на количество часов каждого механизма и затем сложить их. Так понятнее? Можно, конечно, реализовать через циклы, а просто запросом реально?
menart (2005-12-27 08:14:00) [7]
select Name, Sum(Chas), Sum(Cena) from [Справочник заказчиков], [Справочник техники], [Таблица Товарно-Транспортных накладных]
where [Справочник заказчиков].Kod=[Таблица Товарно-Транспортных накладных].Kod and [Справочник техники].Cod=[Таблица Товарно-Транспортных накладных].Cod