Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с SQL-запросом... / 11 сообщений из 11, страница 1 из 1
20.02.2004, 11:29
    #32416618
Alkagor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
Есть три таблицы:
Clients (cl_id, cl_name),
Products (pr_id, pr_name),
Otgruzki (cl_id, pr_id, amount).

Otgruzki - это когда и сколько какому клиенту какой продукции отгрузили. (там есть ещй несколько полей, типа цена и т.п., но это не принципиально).

Требуется сделать отчёт по отгрузкам.
Казалось бы, всё просто:

SELECT
Products.pr_name,
Clients.cl_name,
SUM (Otgruzki.amount)
FROM
Products, Clients, Otgruzki
WHERE
(Clients.cl_id = Otgruzki.cl_id) AND
(Products.pr_id = Otgruzki.pr_id)
GROUP BY cl_name, pr_name

Получаем таблицу типа:

| Вася | Утюг | 25 |
| Петя | Стул | 52 | и т.п.

Загвоздка в том, что, допустим, если какому-нить клиенту какая-нить продукция не отгружалась, то запись в отчёте всё равно должна быть (с нулевым количеством, разумеется): | Федя | Тапочки | 0 |.
Вот тут-то я тупить и начинаю...

Заранее благодарствую...
...
Рейтинг: 0 / 0
20.02.2004, 11:35
    #32416634
BG_class
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
Oracle ест такая вещ

Clients.cl_id = Otgruzki.cl_id (+)

а в InterBase нету ?
...
Рейтинг: 0 / 0
20.02.2004, 11:38
    #32416645
Alkagor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
Нету...
...
Рейтинг: 0 / 0
20.02.2004, 11:44
    #32416661
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
в Интербасе есть left join. он должен помочь.
...
Рейтинг: 0 / 0
20.02.2004, 12:16
    #32416728
Alkagor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
КАК? :)
...
Рейтинг: 0 / 0
20.02.2004, 12:26
    #32416752
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
SELECT
p.pr_name,
c.cl_name,
SUM (o.amount)
FROM
Products p, Clients c
left join Otgruzki o (c.cl_id = o.cl_id) AND
(p.pr_id = o.pr_id)
WHERE
GROUP BY c.cl_name, p.pr_name

Пробуй.

З.Ы. А вообще идея не правильная, имхо, конечно.
...
Рейтинг: 0 / 0
20.02.2004, 12:27
    #32416754
Kull Damned
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
М-дя, только WHERE убери... %)
...
Рейтинг: 0 / 0
20.02.2004, 12:52
    #32416796
Alkagor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
Не работает - ругается.... :((
...
Рейтинг: 0 / 0
20.02.2004, 13:33
    #32416878
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
как ругается?
where убрали?
вместо "left join Otgruzki o" написали "left join Otgruzki on "?
основы sql пытались читать?
...
Рейтинг: 0 / 0
20.02.2004, 13:40
    #32416896
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
> вместо "left join Otgruzki o" написали "left join Otgruzki on"?

или даже лучше "left join Otgruzki o on "
...
Рейтинг: 0 / 0
20.02.2004, 13:50
    #32416911
Alkagor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с SQL-запросом...
Упс...:)
ВОТ Я ЛОХ ПЕДАЛЬНЫЙ!!!! С ЗАДНИМ ПРИВОДОМ!!!

Всё пашет, аки трактор!!!!!

Спасибо ОГРОМНОЕ!!!!!!!!!!
:)
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с SQL-запросом... / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]