add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE BPFinal( id INT, Partners VARCHAR(10), Branch VARCHAR(10), Amount INT, Date Date);
INSERT INTO BPFinal VALUES
(1001, 'ABC', 'BO1', 2000, '2020-11-30'),
(1001, 'ABC', 'BO2', 1500, '2020-11-30'),
(1002, 'XYZ', 'BO1', 4000, '2020-11-30'),
(1001, 'ABC', 'BO1', 5000, '2020-10-31')
Records: 4  Duplicates: 0  Warnings: 0
SET @sql = NULL;
SET @date = '2020-11-30';

SELECT GROUP_CONCAT(
CONCAT(
'SUM(CASE WHEN Partners = "', Partners,'" THEN Amount ELSE 0 END ) AS ',
Partners
)
)
INTO @sql
FROM ( SELECT DISTINCT Partners FROM BPFinal WHERE Date = @date ) AS b;

SET @sql = CONCAT('SELECT Branch,',@sql,
' FROM BPFinal
WHERE Date = "',@date,'"'
' GROUP BY Branch');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Statement prepared
Branch ABC XYZ
BO1 2000 4000
BO2 1500 0
SET @sql = NULL;
SET @date = '2020-10-31';

SELECT GROUP_CONCAT(
CONCAT(
'SUM(CASE WHEN Partners = "', Partners,'" THEN Amount ELSE 0 END ) AS ',
Partners
)
)
INTO @sql
FROM ( SELECT DISTINCT Partners FROM BPFinal WHERE Date = @date ) AS b;

SET @sql = CONCAT('SELECT Branch,',@sql,
' FROM BPFinal
WHERE Date = "',@date,'"'
' GROUP BY Branch');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Statement prepared
Branch ABC
BO1 5000