0

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.

0 Answers0