|
|
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
Есть три таблицы: 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 |. Вот тут-то я тупить и начинаю... Заранее благодарствую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 11:29 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
Oracle ест такая вещ Clients.cl_id = Otgruzki.cl_id (+) а в InterBase нету ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 11:35 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
Нету... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 11:38 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
в Интербасе есть left join. он должен помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 11:44 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
КАК? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 12:16 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
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 Пробуй. З.Ы. А вообще идея не правильная, имхо, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 12:26 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
М-дя, только WHERE убери... %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 12:27 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
Не работает - ругается.... :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 12:52 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
как ругается? where убрали? вместо "left join Otgruzki o" написали "left join Otgruzki on "? основы sql пытались читать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 13:33 |
|
||
|
Помогите с SQL-запросом...
|
|||
|---|---|---|---|
|
#18+
> вместо "left join Otgruzki o" написали "left join Otgruzki on"? или даже лучше "left join Otgruzki o on " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 13:40 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32416618&tid=1579174]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
139ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 408ms |

| 0 / 0 |
