powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вывести список каталогов с подсчетов данных
3 сообщений из 3, страница 1 из 1
Вывести список каталогов с подсчетов данных
    #40021242
aliokero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается сформировать правильный запрос, чтобы вывести список каталогов из catalogs с доп. полями:
- кол-во товаров в каталоге
- кол-во товаров с пустыми image_url <> '' в каталоге
- кол-во товаров с нулевым price IS NULL
- кол-во товаров со статусом true для mbr_status

Если с кол-вом товаров в каталоге все понятно:
Код: plsql
1.
2.
3.
select catalogs.*, 
(SELECT COUNT(*) FROM oproduct_to_catalog WHERE product_to_catalog.catalog_id = catalogs.id) AS product_cnt 
from catalogs



Структура:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
CREATE TABLE `catalogs` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(100) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`)
)

CREATE TABLE `product_to_catalog` (
    `catalog_id` INT(11) NOT NULL,
    `product_id` INT(11) NOT NULL
)

CREATE TABLE `products` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `sku` VARCHAR(20) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `price` DOUBLE(8,2) NOT NULL,
    `image_url` VARCHAR(160) NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
    `mbr_status` TINYINT(1) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
)
...
Рейтинг: 0 / 0
Вывести список каталогов с подсчетов данных
    #40021345
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aliokero,

Join решает задачу. Left join + IS NULL решает задачу поиска отсутствия чего-либо.
Группировка записей решает задачу подсчета количеств..
как-то так. Пробуйте! :)
...
Рейтинг: 0 / 0
Вывести список каталогов с подсчетов данных
    #40021609
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aliokero,
JOIN нужных таблиц
группировка по каталогу
SUM на каждое из условий, кроме первого

Общее количество - с модификатором ROLLUP или отдельным запросом.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вывести список каталогов с подсчетов данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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