@prostovlad

В чем ошибка в запросе к базе?

Добрый день, есть запрос к базе, раньше работал, сейчас дает ошибку, в чем может быть проблема *
запрос
UPDATE `'.DB_PREFIX.'product` AS `p`
    LEFT JOIN (
        SELECT `t`.`sku`, MIN(`p`.`product_id`) AS `product_id`
            FROM (
                SELECT `sku`, MIN(`price`) AS `price`
                    FROM `'.DB_PREFIX.'product`
                    WHERE `quantity` != 0
                    GROUP BY `sku`
            ) AS `t`
            JOIN `'.DB_PREFIX.'product` AS `p`
                ON `p`.`sku` = `t`.`sku` AND `p`.`price` = `t`.`price`
            WHERE `p`.`quantity` != 0
            GROUP BY `t`.`sku`
    ) AS `i` ON `i`.`product_id` = `p`.`product_id`
    SET `p`.`status` = (`i`.`product_id` IS NOT NULL)

ошибка по этой строке
SET `p`.`status` = (`i`.`product_id` IS NOT NULL)
текст ошибки
Notice: Trying to get property of non-object in
смысл запроса, выборка нескольких товаров по одинаковому sku, поставить всем статус 0 ( отключено) и поставить статус одному товару 1 ( включено) у которого количество quantity больше 0 и самая минимальная цена.
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Notice: Trying to get property of non-object in
Чтение ошибки внимательно может дать подсказку, особенно если понять что за проблема описана в ошибке.

я же написал, ошибка вот по этой строке
SET `p`.`status` = (`i`.`product_id` IS NOT NULL)
Очевидно это не так, читайте всю ошибку внимательно, в том числе смотрите на файл в котором она возникает, так же не лишним будет использовать нормальные IDE, с правильным отображением нумерации строк и подсветкой ошибок.
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
SET `p`.`status` = NOT ISNULL(`i`.`product_id`)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы