Salve a tutti ho questa vista e vorrei aggiungere un numero progressivo solo quando si verifica questa condizione:
il risultato deve essere cosìcodice:SELECT ANUM.T_NAGINT FROM ANAGRAFE_GENERALE.dbo.ANA_NUMTEL ANUM GROUP BY ANUM.T_NAGINT HAVING COUNT(*) > 1
T_NAGINT | PROGRESSIVO
200 | 1
201 | 1
201 | 2
202 | 1
202 | 2
202 | 3
203 | 1
La vista è questa:
codice:SELECT [COD ABI], FUNZ, CDG, (CASE WHEN [TIPO CDG] LIKE 'AP' AND [TIPO-COM] = 21 THEN 1 WHEN [TIPO CDG] LIKE 'SP' AND [TIPO-COM] = 21 THEN 90 WHEN [TIPO CDG] LIKE 'SC' AND [TIPO-COM] = 21 THEN 90 WHEN [TIPO CDG] LIKE 'PC' AND [TIPO-COM] = 21 THEN 1 WHEN [TIPO CDG] NOT IN ('AP','SP','SC','PC') AND [TIPO-COM] = 21 THEN 1 ELSE [TIPO-COM] END) AS [TIPO-COM], [RIF-COM], PROGR, PRINCIP, NOTE, [FLG-SMS] FROM ( select '31369' AS [COD ABI], 'I' AS FUNZ, ANUM.T_NAGINT AS [CDG], ANUM.T_TIPFTEL AS [TIPO-COM], ANUM.T_NUMTEL AS [RIF-COM], '' AS PROGR, '' AS PRINCIP, ANUM.T_NOTE_TEL AS NOTE, '' AS [FLG-SMS], ( CASE WHEN (PF.T_NAGINT IS NOT NULL) THEN 'PC' WHEN ((MPNDG.TIPO_CDG IS NULL OR MPNDG.TIPO_CDG = '-1') AND T_TIPOCLIENTE IN (2, 4, 10, 16) AND PG.T_NAGINT IS NOT NULL) THEN 'AP' WHEN ((MPNDG.TIPO_CDG IS NULL OR MPNDG.TIPO_CDG = '-1') AND T_TIPOCLIENTE NOT IN (2, 4, 10, 16) AND PG.T_NAGINT IS NOT NULL) THEN 'SC' ELSE MPNDG.TIPO_CDG END ) AS [TIPO CDG] FROM ANAGRAFE_GENERALE.dbo.ANA_NUMTEL ANUM LEFT JOIN ANAGRAFE_GENERALE.dbo.ANA_MASTER AS AM ON AM.T_NAGINT = ANUM.T_NAGINT LEFT JOIN dbo.MAP_SETT_TP_NDG MPNDG on MPNDG.SETTORE = AM.T_SATTEC LEFT JOIN ANAGRAFE_GENERALE.dbo.ANA_ANAGPF PF ON PF.T_NAGINT = AM.T_NAGINT LEFT JOIN ANAGRAFE_GENERALE.dbo.ANA_ANAGPG PG ON PG.T_NAGINT = AM.T_NAGINT )T1
Grazie a tutti

Rispondi quotando