-- Schema: C6MartPeriodico -- Stored Procedure: SP_DQ_PiramideAreeDuplicate -- ============================================= -- Author: Caruso Fabrizio -- Create date: 17/09/2014 -- Description: -- Individuazione dei Clienti che presentano nella piramide modello una o pił -- aree/progetti duplicati -- Impostazione Codice TIPO CONTROLLO per il controllo specifico -- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) -- ============================================= CREATE procedure [C6MartPeriodico].[SP_DQ_PiramideAreeDuplicate] @idFaseElaborazione int AS BEGIN Declare @idTipoControllo int set @idTipoControllo=6 SELECT DISTINCT d.rete, case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman when (isnull(codfis,'') <> '') then codfis else c.piva end as Codicefiscale, @idTipoControllo idtipocontrollo into #TbErrori FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b ON b.chiaveClientePB = a.chiaveClientePB AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c ON b.chiaveCliente = c.chiaveCliente JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d ON b.chiavePB = d.chiavePB WHERE A.chiaveclientepb in ( select distinct chiaveclientepb FROM ( --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM --[CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() --group by chiaveclientepb,area,tipoprogetto --having COUNT(*)<>1 SELECT chiaveclientepb,area,COUNT(*) as c FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod on pirmod.chiavePiramideMod = areamod.chiaveAreaMod inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod on progmod.chiaveAreaMod = areamod.chiaveAreaMod where area <> 'na' group by chiaveclientepb,area having COUNT(*)<>1 ) t ) declare @idElab int select @idElab=max(id_elab) from c6martperiodico.elaborazioni --select * from c6martperiodico.tb_tipocontrollo Insert into C6MartPeriodico.TB_SegnalazioniDataQuality ( idTipoControllo, rete, codiceFiscale, descSegnalazione, idElaborazione, richiesta, idFaseElaborazione) select tbErr.idTipoControllo,tbErr.rete,Codicefiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione from #TbErrori tbErr inner join c6martperiodico.tb_tipocontrollo Tipo on tbErr.idtipocontrollo = tipo.idTipoControllo inner join c6stagingperiodico.appo_contratti_v Contr on tbErr.rete = contr.rete and tbErr.CodiceFiscale = contr.cod_fiscale end