MySQL запрос для апдейта по условию из нескольких строк

Статус
В этой теме нельзя размещать новые ответы.

Jarhead

Постоялец
Регистрация
17 Июн 2011
Сообщения
414
Реакции
169
Есть таблица:
Код:
`id_image` int(10) unsigned NOT NULL,
`id_product` int(10) unsigned NOT NULL,
`cover` tinyint(1) unsigned NOT NULL,
В которой указаны ID картинок для товаров.

Примерно вот так:
Код:
id_product;id_image;cover
200;1000;0
200;1001;0
200;1002;0
201;1011;0
201;1012;0
201;1013;0
Последний параметр отвечает за главную фотку товара, так получилось что после импорта не у всех товаров проставился последний параметр, в место него 0.

Как на уровне запроса или запроса + php перебрать все товары и их картинки и проверить отмечена ли главная фотка товара и если нет то проставить 1 первой фотке?

Чтобы было так:
Код:
id_product;id_image;cover
200;1000;1
200;1001;0
200;1002;0
201;1011;1
201;1012;0
201;1013;0

UPD: Спасибо! Все супер
 
Последнее редактирование модератором:
Вот этот запрос, который может выдать все товары, у которых не установлен "ковер":
PHP:
select distinct id_product from ps_image
where id_product not in (select id_product from ps_image where cover<>0)
На основании его можно уже в пхп обработать, и картинкам с мин номером установить "ковер"=1

кстати, в запрос стоит также добавить мин. номер картики, чтобы потом не запрашивать его отдельно для каждого продукта:
PHP:
select id_product, min(id_image) from ps_image
where id_product not in (select id_product from ps_image where cover<>0)
group by id_product
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху