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

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

Подскажите по 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


Наверх

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