Reputation: 37
I want to add a condition in the procedure, but I can't use (IF(Wh=0,'AND 1=1','AND D.wh_parn = 102'))
This is my procedure:
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
What's the solution?
Upvotes: 0
Views: 35
Reputation: 42728
WHERE C.idItemProduk = A.item_id
AND B.TglTransaksi BETWEEN Datemin AND Datemax
AND IF(Wh=0, 1, D.wh_parn = 102)
Upvotes: 1