Mysql过程中的条件

Mysql过程中的条件,mysql,conditional-statements,where-clause,procedure,Mysql,Conditional Statements,Where Clause,Procedure,我想在过程中添加一个条件,但我不能使用(如果(Wh=0,'AND 1=1','AND D.Wh_parn=102')) 这是我的程序: CREATE DEFINER=`akarremote`@`%` PROCEDURE `laporan_top_brand_penjualan`(IN Wh INT, IN `Datemin` VARCHAR(191), IN `Datemax` VARCHAR(191)) BEGIN SELECT A.item_id,

我想在过程中添加一个条件,但我不能使用
(如果(Wh=0,'AND 1=1','AND D.Wh_parn=102'))
这是我的程序:

CREATE DEFINER=`akarremote`@`%` PROCEDURE `laporan_top_brand_penjualan`(IN Wh INT, IN `Datemin` VARCHAR(191), IN `Datemax` VARCHAR(191))
BEGIN

    SELECT
        A.item_id,
        A.item_name AS ITEM,
        (
        SELECT
            SUM( C.jumlah ) AS jumlah
        FROM
            mob_penjualan B
            LEFT JOIN mob_penjualandetail C ON C.noTransaksi = B.noTransaksi
            LEFT JOIN krd_wh D ON D.wh_id = B.idWH 
        WHERE
            C.idItemProduk = A.item_id 
            AND B.TglTransaksi BETWEEN Datemin AND Datemax
            (IF(Wh=0,'AND 1=1','AND D.wh_parn = 102'))
        GROUP BY
            C.idItemProduk 
        ORDER BY
            jumlah DESC
        ) AS JML,
        (
        SELECT
            SUM( C.qty ) AS qty
        FROM
            mob_penjualan B
            LEFT JOIN mob_penjualandetail C ON C.noTransaksi = B.noTransaksi
            LEFT JOIN krd_wh D ON D.wh_id = B.idWH 
        WHERE
            C.idItemProduk = A.item_id 
            AND B.TglTransaksi BETWEEN Datemin AND Datemax
            (IF(Wh=0,'AND 1=1','AND D.wh_parn = 102'))
        GROUP BY
            C.idItemProduk 
        ORDER BY
            qty DESC
        ) AS QTY 
    FROM
        krd_item A
    ORDER BY
        JML DESC, QTY DESC;
    
END
解决方案是什么?

其中C.idItemProduk=A.item\u id
和B.TglTransaksi,介于Datemin和Datemax之间
如果(Wh=0,1,D.Wh_parn=102)