Как сравнить две таблицы SUM и обновить другую таблицу с помощью MySql Trigger - PullRequest
0 голосов
/ 31 декабря 2018

сравнить две таблицы SUM и обновить другую таблицу с помощью триггера MySql

DELIMITER $$  
    CREATE TRIGGER change_com_status_on_sales_table AFTER INSERT ON `commision_calculation` // COMMISSION TABLE 
    FOR EACH ROW 
    BEGIN  
        DECLARE totalQnt1, totalQnt2 DOUBLE;
        DECLARE sales_id INT;

    SET @sales_id=(SELECT sales_info_id
                      FROM commercial_invoice WHERE ci_no = NEW.ci_no); 

    SET @totalQnt1=(SELECT sum(cc.quantity) as total_qnt1 
                    FROM commision_calculation cc
                    LEFT JOIN commercial_invoice ci ON cc.ci_id = ci.id         
                    WHERE cc.comission_type = 'Remex' AND ci.sales_info_id= @sales_id
            GROUP BY @sales_id);

    SET @totalQnt2=(SELECT SUM(sii.quantity) as total_income
                      FROM sales_info_item sii WHERE sii.sales_info_id = @sales_id
                      GROUP BY @sales_id);                
    IF (@totalQnt2 > @totalQnt1) THEN
    UPDATE sales_information 
    SET ci_status = 'Partial'
    WHERE id = @sales_id;
    END IF;
    IF (@totalQnt2 = @totalQnt1) THEN
    UPDATE sales_information 
    SET ci_status = 'Full'
    WHERE id = @sales_id;
    END IF; 
    END; $$  
    DELIMITER ;

Ошибка выше, как упомянуто Джахидом Хоссейном

Я получаю SQLSTATE [21000]: Нарушение количества элементов: 1242 Подзапрос возвращает более 1 строки "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...