I have this table:
CREATE TABLE t
(`fattura` varchar(9), `iva` DECIMAL(5,2), `imponibile` DECIMAL(5,2), `imposta` DECIMAL(5,2))
;
INSERT INTO t
(`fattura`, `iva`, `imponibile`, `imposta`)
VALUES
('fattura1', '4.00', '10','1'),
('fattura1', '10.00', '10','1'),
('fattura1', '22.00', '10','1'),
('fattura2', '0.00', '20','2'),
('fattura2', '10.00', '20','2'),
('fattura3', '15.00', '30','3'),
('fattura3', '5.00', '30','3'),
('fattura3', '22.00', '30','3')
;
CREATE TABLE Table1
()
;
INSERT INTO Table1
()
VALUES
;
and I made this query
SELECT
fattura,
group_concat(if(iva='0.00',imponibile, null)) as importo_esente,
group_concat(if(iva='0.00',imposta, null)) as imposta_esente,
group_concat(if(iva='4.00',imponibile, null)) as imponibile_4,
group_concat(if(iva='4.00',imposta, null)) as imposta_4,
group_concat(if(iva='5.00',imponibile, null)) as imponibile5,
group_concat(if(iva='5.00',imposta, null)) as imposta5,
group_concat(if(iva='10.00',imponibile, null)) as imponibile10,
group_concat(if(iva='10.00',imposta, null)) as imposta10,
group_concat(if(iva='15.00',imponibile, null)) as imponibile15,
group_concat(if(iva='15.00',imposta, null)) as imposta15,
group_concat(if(iva='22.00',imponibile, null)) as imponibile22,
group_concat(if(iva='22.00',imposta, null)) as imposta22
from t group by fattura
and it works properly. What I would like to do is to make the field "iva" not bound to constant values, because over time they could change. How can I make it dynamic? thanks.