Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

Подскажите по SQL   Найти похожие ветки 

 
DimonS ©   (2005-12-27 07:59) [0]

Добрый день всем и с наступающим НГ!

А вопрос вот какой, ламерский, наверное.

Есть БД (Access). В ней имеются 3 таблицы:

Справочник заказчиков:
Kod - уникальный код заказчика;
Name - наименование его же.

Справочник техники:
Cod - код данной техники;
Cena - цена 1 моточаса, у всех разная.

Таблица Товарно-Транспортных накладных:
Cod - код техники;
Kod - код заказчика;
Chas - отработанные часы.

Можно ли соединить эти таблицы одним запросом так, чтобы получить сводные данные за месяц - Наименование заказчика, Отработанные часы по ВСЕЙ технике и общую сумму за месяц для каждого заказчика, типа такой:

Наменование   |  Отработано, ч  | Сумма

Если можно так сделать, то подскажите, плз, как, желательно с примером, т.е. сам запрос.


 
menart ©   (2005-12-27 08:14) [1]

select  Name, Sum(Chas), Sum(Cena) from [Справочник заказчиков], [Справочник техники], [Таблица Товарно-Транспортных накладных]
where [Справочник заказчиков].Kod=[Таблица Товарно-Транспортных накладных].Kod and [Справочник техники].Cod=[Таблица Товарно-Транспортных накладных].Cod


 
DimonS ©   (2005-12-27 08:32) [2]

Такая не катит. Во-первых, цены складывать нельзя. Нужно именно перемножить цену на количество часов каждого механизма и затем сложить их. Так понятнее? Можно, конечно, реализовать через циклы, а просто запросом реально?


 
evvcom ©   (2005-12-27 08:39) [3]


> Sum(Cena)

Sum(Cena * Chas)

> Kod
> Cod

Сам-то запомнил какой код чей? Именовать поля/переменные надо более говорящими именами. Имхо.


 
menart ©   (2005-12-27 09:09) [4]

Да и добавь Group By Name
Извеняюсь забыл


 
DimonS ©   (2005-12-27 09:10) [5]

То 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 - товарки.


 
Johnmen ©   (2005-12-27 09:12) [6]

...where Z.Nom="B.Zakaz" and...

"Поспешишь - людей насмешишь" (c)


 
DimonS ©   (2005-12-27 10:00) [7]

Все, спасибо всем. Просто в таблице заказчиков поле Nom было текстового типа, заменил - все стало ОК!



Страницы: 1 вся ветка

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
2-1135497900
kop
2005-12-25 11:05
2006.01.15
Запрос > мемо


2-1135550887
garald
2005-12-26 01:48
2006.01.15
массив типа BYTE


4-1131450963
Uran
2005-11-08 14:56
2006.01.15
Журнал событий Windows 2003


14-1135262770
Pazitron_Brain
2005-12-22 17:46
2006.01.15
Операционные системы в массы!


6-1127897807
Yuran
2005-09-28 12:56
2006.01.15
Расскажите плизз, про gethostbyaddr?