alter table calculadora_igi_item add column fiduciario_details longtext;

UPDATE
    calculadora_igi_item as item,
    (
    select
    *,
    (
    CONCAT('{"iva": ', ROUND(iva_fid, 4),', "igi": ', ROUND(igi_fid, 4),', "dta": ',  ROUND(dta_fid, 4),', "dif_precio": ',  ROUND(diferencia_precio, 4),'}')
    ) as fiduciario_details_set
    from (
    select
    *,
    ((igi_fid+dta_fid+diferencia_precio)*(iva_porcentaje/100)) as iva_fid
    from (
    select *,
    (diferencia_precio*(igi_porcentaje/100)) as igi_fid,
    (diferencia_precio*(dta_unidad)/1000) as dta_fid
    from (
    select *,
    ((precio_estimado-precio)*cantidad) as diferencia_precio
    from calculadora_igi_item where calculadora_igi_id in (
    select calculadora_igi_id from calculadora_igi where con_fiduciario = 'Si' and con_precio_venta = 'No'
    )
    order by alta_db desc
    ) valores
    ) valore_2
    )item_update
    ) as data_values
SET item.fiduciario_details = data_values.fiduciario_details_set
WHERE item.calculadora_igi_id in (
    select calculadora_igi_id from calculadora_igi where con_fiduciario = 'Si' and con_precio_venta = 'No'
    ) and item.calculadora_igi_item_id = data_values.calculadora_igi_item_id
;