powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с SQL-запросом...
11 сообщений из 11, страница 1 из 1
Помогите с SQL-запросом...
    #32416618
Фотография Alkagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть три таблицы:
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
Помогите с SQL-запросом...
    #32416634
BG_class
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oracle ест такая вещ

Clients.cl_id = Otgruzki.cl_id (+)

а в InterBase нету ?
...
Рейтинг: 0 / 0
Помогите с SQL-запросом...
    #32416645
Фотография Alkagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нету...
...
Рейтинг: 0 / 0
Помогите с SQL-запросом...
    #32416661
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в Интербасе есть left join. он должен помочь.
...
Рейтинг: 0 / 0
Помогите с SQL-запросом...
    #32416728
Фотография Alkagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КАК? :)
...
Рейтинг: 0 / 0
Помогите с SQL-запросом...
    #32416752
Фотография Kull Damned
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Помогите с SQL-запросом...
    #32416754
Фотография Kull Damned
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
М-дя, только WHERE убери... %)
...
Рейтинг: 0 / 0
Помогите с SQL-запросом...
    #32416796
Фотография Alkagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не работает - ругается.... :((
...
Рейтинг: 0 / 0
Помогите с SQL-запросом...
    #32416878
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как ругается?
where убрали?
вместо "left join Otgruzki o" написали "left join Otgruzki on "?
основы sql пытались читать?
...
Рейтинг: 0 / 0
Помогите с SQL-запросом...
    #32416896
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> вместо "left join Otgruzki o" написали "left join Otgruzki on"?

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

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

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


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