Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос:-) / 8 сообщений из 8, страница 1 из 1
21.09.2018, 16:51
    #39706232
Валерий666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос:-)
Есть 2 таблицы, одна с номенклатурной группой, вторая с заявками. Надо составить запрос, результатом которого будет первая таблица+ 1 столбец-количество заявок по данной группе, если таких заявок нет, то либо пустое поле, либо 0


Делаю вот так:

Код: sql
1.
2.
3.
4.
SELECT KODnom, NAIM  FROM kodvopr
INNER JOIN register ON kodvopr.KODnom=register.themeid
GROUP BY themeid
HAVING COUNT(*) >0


Но в итоге получается, не вся таблица, а только те записи номенклатуры, которые встречаются во второй таблице заявок.
...
Рейтинг: 0 / 0
21.09.2018, 21:12
    #39706299
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос:-)
INNER LEFT JOIN
...
Рейтинг: 0 / 0
21.09.2018, 21:14
    #39706300
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос:-)
ну и - COUNT перенести в SELECT, HAVING убрать...
...
Рейтинг: 0 / 0
24.09.2018, 08:44
    #39706768
Валерий666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос:-)
Akinaну и - COUNT перенести в SELECT, HAVING убрать...

Ничего не поменялось.
Код: sql
1.
2.
3.
SELECT KODnom, NAIM,COUNT(*)  FROM kodvopr
JOIN register ON kodvopr.KODnom=register.themeid
GROUP BY themeid



На выдаче все равно 8 строк из БД где совпадает номенклатура
...
Рейтинг: 0 / 0
24.09.2018, 08:45
    #39706769
Валерий666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос:-)
LEFT RIGHT тоже не дает такого эффекта.
...
Рейтинг: 0 / 0
24.09.2018, 13:41
    #39706976
paver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос:-)
Валерий666, поменяйте поле группировки
...
Рейтинг: 0 / 0
24.09.2018, 15:57
    #39707153
Валерий666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос:-)
paverВалерий666, поменяйте поле группировки
Да, картинка поменялась, но тогда не правильно считает количество....
Код: sql
1.
2.
3.
4.
SELECT KODnom,NAIM, COUNT(*)   FROM kodvopr
LEFT JOIN register ON 
register.themeid=kodvopr.KODnom
GROUP BY KODnom



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

Таблица с номенклатурой выглядит вот так:
...
Рейтинг: 0 / 0
25.09.2018, 05:45
    #39707373
paver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос:-)
Валерий666неверная информация.

И как вы это выяснили?

Перепишите аккуратно запрос (с алиасами), используйте в COUNT поле группировки, покажите выборку таблицы заявок одной номенклатурной группы, которая неправильно посчиталась. Ну и DDL второй таблицы не помешает.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос:-) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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