Перейти к содержанию
iliaprohor

mysql_query(): Unable to save result set - [1242] Subquery returns more than 1 row

Рекомендуемые сообщения

Добавил новые категории в магазине и начал размещать товары,  после добавления сайт перестал работать только вот такой текст

"Warning: mysql_query(): Unable to save result set in /home/f/fh7904v2/fh7904v2.bget.ru/public_html/system/database/mysql.php on line 22Notice: Error: Subquery returns more than 1 row

Error No: 1242

SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '2014-08-11 16:12:00') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '2014-08-11 16:12:00')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '2014-08-11 16:12:00') AND (ps.date_end = '0000-00-00' OR ps.date_end > '2014-08-11 16:12:00')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM oc_product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '1') AS reward, (SELECT ss.name FROM oc_stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '1') AS stock_status, (SELECT wcd.unit FROM oc_weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '1') AS weight_class, (SELECT lcd.unit FROM oc_length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '1') AS length_class, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM oc_review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '32' AND pd.language_id = '1' AND p.status = '1' AND p.date_available <= '2014-08-11 16:12:00' AND p2s.store_id = '0' in /home/f/fh7904v2/fh7904v2.bget.ru/public_html/system/database/mysql.php on line 50"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хрен кто поможет, весь инет перерыл

Запрос у Вас не верный, поравляйте.

 

SELECT DISTINCT

  *,

  pd.name AS name,

  p.image,

  m.name AS manufacturer,

  (SELECT

      price

    FROM PREFFIX_oc_product_discount pd2

    WHERE pd2.product_id = p.product_id

    AND pd2.customer_group_id = '1'

    AND pd2.quantity = '1'

    AND ((pd2.date_start = '0000-00-00'

    OR pd2.date_start < '2014-08-11 16:12:00')

    AND (pd2.date_end = '0000-00-00'

    OR pd2.date_end > '2014-08-11 16:12:00'))

    ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount,

  (SELECT

      price

    FROM PREFFIX_oc_product_special ps

    WHERE ps.product_id = p.product_id

    AND ps.customer_group_id = '1'

    AND ((ps.date_start = '0000-00-00'

    OR ps.date_start < '2014-08-11 16:12:00')

    AND (ps.date_end = '0000-00-00'

    OR ps.date_end > '2014-08-11 16:12:00'))

    ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special,

  (SELECT

      points

    FROM PREFFIX_oc_product_reward pr

    WHERE pr.product_id = p.product_id

    AND customer_group_id = '1') AS reward,

  (SELECT

      ss.name

    FROM PREFFIX_oc_stock_status ss

    WHERE ss.stock_status_id = p.stock_status_id

    AND ss.language_id = '1') AS stock_status,

  (SELECT

      wcd.unit

    FROM PREFFIX_oc_weight_class_description wcd

    WHERE p.weight_class_id = wcd.weight_class_id

    AND wcd.language_id = '1') AS weight_class,

  (SELECT

      lcd.unit

    FROM PREFFIX_oc_length_class_description lcd

    WHERE p.length_class_id = lcd.length_class_id

    AND lcd.language_id = '1') AS length_class,

  (SELECT

      AVG(rating) AS total

    FROM PREFFIX_oc_review r1

    WHERE r1.product_id = p.product_id

    AND r1.status = '1'

    GROUP BY r1.product_id) AS rating,

  (SELECT

      COUNT(*) AS total

    FROM PREFFIX_oc_review r2

    WHERE r2.product_id = p.product_id

    AND r2.status = '1'

    GROUP BY r2.product_id) AS reviews,

  p.sort_order

FROM PREFFIX_oc_product p

  LEFT JOIN PREFFIX_oc_product_description pd

    ON (p.product_id = pd.product_id)

  LEFT JOIN PREFFIX_oc_product_to_store p2s

    ON (p.product_id = p2s.product_id)

  LEFT JOIN PREFFIX_oc_manufacturer m

    ON (p.manufacturer_id = m.manufacturer_id)

WHERE p.product_id = '32'

AND pd.language_id = '1'

AND p.status = '1'

AND p.date_available <= '2014-08-11 16:12:00'

AND p2s.store_id = '0'

На место PREFFIX_ ставьте свой!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.