UPDATE **DB**.a_anagrafica AS ana
INNER JOIN **DB**.a_anapersone AS p ON (p.idcontatto=@idcontatto AND IFNULL(ana.idtommy,0)=p.id)
INNER JOIN **main_table** AS servi ON (p.idcontatto=servi.idcontatto AND p.id=servi.idautista)
SET servi.infe_idpersona=ana.id
, ana.idtommy=p.id
, ana.nascosto=0
, ana.persona_fisica_giuridica=p.persona_fisica_giuridica
, ana.cliente=1
, ana.cognome=IF(p.persona_fisica_giuridica=0,TRIM(p.cognome), TRIM(CONCAT(IFNULL(p.cognome,''),' ',IFNULL(p.nome,''))) )
, ana.nome=IF(p.persona_fisica_giuridica=0,TRIM(p.nome), NULL )
, ana.codfisc=p.codfisc
, ana.piva=p.piva
, ana.datanascita=p.datanascita
, ana.sesso=UPPER(p.sesso_mf)
, ana.idcittanascita=p.id_cittanascita
, ana.idcittaresidenza=p.id_cittaresidenza
, ana.cap=p.capcittaresidenza
, ana.localita=p.localita
, ana.indirizzo=p.indirizzo
, ana.iban=p.iban
, ana.note=p.note
, ana.last_modify=CONCAT('SyncTommy - ',now())
WHERE servi.idautista IS NOT NULL AND servi.infe_importo!=0.00
;
INSERT INTO **DB**.a_anagrafica
(idtommy
,nascosto,cliente,fornitore,persona_fisica_giuridica
,cognome,nome,codfisc,piva,datanascita,sesso,idcittanascita
,idcittaresidenza,cap,localita,indirizzo
,note,iban,last_modify
)
SELECT DISTINCT p.id
, 0, 1, 0, p.persona_fisica_giuridica
, IF(p.persona_fisica_giuridica=0,TRIM(p.cognome), TRIM(CONCAT(IFNULL(p.cognome,''),' ',IFNULL(p.nome,''))) )
, IF(p.persona_fisica_giuridica=0,TRIM(p.nome), NULL )
, p.codfisc, p.piva, p.datanascita, UPPER(p.sesso_mf), p.id_cittanascita
, p.id_cittaresidenza, p.capcittaresidenza, p.localita, p.indirizzo
, p.note, p.iban, CONCAT('SyncTommy - ',now())
FROM **DB**.a_anapersone AS p
INNER JOIN **main_table** AS servi ON (p.idcontatto=servi.idcontatto AND p.id=servi.idautista)
WHERE p.idcontatto=@idcontatto AND servi.infe_idpersona IS NULL
AND servi.idautista IS NOT NULL AND servi.infe_importo!=0.00
GROUP BY servi.idpersona_fatturazione
;
UPDATE **main_table** AS servi
INNER JOIN **DB**.a_anagrafica AS ana ON (servi.idautista=IFNULL(ana.idtommy,0))
SET servi.infe_idpersona=ana.id
WHERE servi.infe_idpersona IS NULL
AND servi.idautista IS NOT NULL AND servi.infe_importo!=0.00