Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Помогите с запросом...  [new]
kasik
Member

Откуда:
Сообщений: 2142
Есть таблица классификаторов
create table klassif(
kod number,
naim char(100));
и общая таблица
create table obch(
p1 number,
p2 number,
p3 number,
Klas_id number);

необходим запрос по подсчитыванию суммы по группам классификаторов,
имеется:
select a.kod, count(a.kod)
from klassif a, obch b
group by a.kod;

все работает вот только если нет в общей таблице определенного классификатора вообще,
то он не будет отображен, а необходимо что бы присутстволи все классификаторы, в
результате некоторые с нулевыми значениями.

ЗАРАНЕЕ БЛАГОДАРЕН!
9 июл 08, 15:28    [5909723]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Elic
Member

Откуда:
Сообщений: 29990
kasik
from klassif a, obch b 
group by a.kod;
все работает
Не надо ля-ля
kasik
вот только если нет в общей таблице определенного классификатора вообще, то он не будет отображен, а необходимо что бы присутстволи все классификаторы, в результате некоторые с нулевыми значениями.
RTFM outer-join
9 июл 08, 15:32    [5909761]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
kasik
Member

Откуда:
Сообщений: 2142
добавил:
SQL> insert into klassif
2 values (1,'111');

1 строка создана.

SQL> insert into klassif
2 values (2,'222');

1 строка создана.

SQL> insert into obch
2 values (1,1,1,1);

1 строка создана.

SQL> insert into obch
2 values (2,2,2,1);

Хоть так:
SQL> select a.kod, count(a.kod)
2 from klassif a, obch b
3 where a.kod(+)=b.klas_id
4 group by a.kod;

KOD COUNT(A.KOD)
---------- ------------
1 2

Хоть так:
SQL> select a.kod, count(a.kod)
2 from klassif a, obch b
3 where a.kod=b.klas_id(+)
4 group by a.kod;

KOD COUNT(A.KOD)
---------- ------------
1 2
2 1

Нет правильного решения причем второе вообще ошибочное!
9 июл 08, 15:51    [5910012]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Вас не смущает count какого поля Вы считаете? :)

kasik
Нет правильного решения причем второе вообще ошибочное!
Которое ошибочное это ещё вопрос :) А если вспомнить задание:
kasik
запрос по подсчитыванию суммы по группам классификаторов
...
9 июл 08, 16:02    [5910148]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
kasik
Member

Откуда:
Сообщений: 2142
не совсем правильно выразился подсчитать количество всех классификаторов
9 июл 08, 17:27    [5911050]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом...  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
kasik
не совсем правильно выразился подсчитать количество всех классификаторов
И? Вы можете озвучить, что Вы хотели видеть в Вашем примере(конкретно цифры) - по-Вашему описанию возможна куча вариантов :) Основные: count(b.klas_id) или count(distinct A.KOD)

ЗЫ: Правда во втором случае не очень понятно, нафига Вам таблица obch вообще
9 июл 08, 17:36    [5911130]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить