За последние 24 часа нас посетили 17473 программиста и 1718 роботов. Сейчас ищут 1465 программистов ...

Помогите исправить запрос к БД

Тема в разделе "MySQL", создана пользователем Вадим2019, 22 фев 2023.

  1. Вадим2019

    Вадим2019 Активный пользователь

    С нами с:
    22 янв 2019
    Сообщения:
    28
    Симпатии:
    0
    Всех с наступающим )

    Помогите пожалуйста исправить запрос к БД

    В результате есть 2 столбца amount и amount_all, необходимо заполнить один из них с учетом WHERE ol.label_id = 1, а другой без учета WHERE.



    Код (Text):
    1.  
    2. SELECT
    3.                 o.id,
    4.                 p.product_id,
    5.                 SUM(p.price * p.amount) as sum_price,
    6.                 SUM(p.amount) as amount,
    7.                 SUM(p.amount) as amount_all,
    8.                 p.sku
    9.              FROM s_purchases AS p
    10.             LEFT JOIN s_orders AS o ON o.id = p.order_id
    11.             LEFT JOIN s_orders_labels AS ol ON o.id=ol.order_id
    12.             WHERE  1 $all_filters AND ol.label_id = 1
    13.             GROUP BY p.product_id
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @Вадим2019, убираете из where выражение для ol.label_id.
    Код (SQL):
    1. SUM(CASE WHEN ol.label_id = 1 THEN p.amount ELSE 0 END)
     
    Aleksandr.B и Вадим2019 нравится это.
  3. Вадим2019

    Вадим2019 Активный пользователь

    С нами с:
    22 янв 2019
    Сообщения:
    28
    Симпатии:
    0
    Спасибо огромное!