MySQL:错误代码:#1242-子查询返回多于1行

时间:2020-02-26 11:20:49

标签: mysql mysql-error-1242

此错误显示,当我再插入一个具有相同lc_number的行时,该如何解决。 错误消息在这里:

    SELECT 
        x.lc_number,
        x.Destination,
        x.Allotment,
        x.Total_Bags,
        x.Empty_Bags,
        y.Delivered_Qty,
        y.Sent_Qty,
        y.challan_no,
        y.Date, 
        COALESCE (x.Allotment - (SELECT r.Delivered_Qty FROM delivery_point AS r WHERE x.lc_number = r.lc_number), x.Allotment) AS Balance_m_ton, 
        COALESCE (x.Total_Bags - (SELECT r.Sent_Qty FROM delivery_point AS r WHERE x.lc_number =  r.lc_number), x.Total_Bags) AS Balance_bags, 
        COALESCE (x.Empty_Bags + COALESCE (x.Total_Bags - (SELECT r.Sent_Qty FROM delivery_point AS r WHERE x.lc_number = r.lc_number), x.Total_Bags), x.Empty_Bags) AS Empty_Bags 
    FROM 
        badc_allocations as x,
        delivery_point AS y 
    WHERE 
        x.lc_number = y.lc_number;

1 个答案:

答案 0 :(得分:1)

SELECT 
    x.lc_number,
    x.Destination,
    x.Allotment,
    x.Total_Bags,
    x.Empty_Bags,
    y.Delivered_Qty,
    y.Sent_Qty,
    y.challan_no,
    y.Date, 
    COALESCE (x.Allotment - (SELECT r.Delivered_Qty FROM delivery_point AS r WHERE x.lc_number = r.lc_number LIMIT 1), x.Allotment) AS Balance_m_ton, 
    COALESCE (x.Total_Bags - (SELECT r.Sent_Qty FROM delivery_point AS r WHERE x.lc_number =  r.lc_number LIMIT 1), x.Total_Bags) AS Balance_bags, 
    COALESCE (x.Empty_Bags + COALESCE (x.Total_Bags - (SELECT r.Sent_Qty FROM delivery_point AS r WHERE x.lc_number = r.lc_number LIMIT 1), x.Total_Bags), x.Empty_Bags) AS Empty_Bags 
FROM 
    badc_allocations as x,
    delivery_point AS y 
WHERE 
    x.lc_number = y.lc_number;
相关问题