Il problema interessante di domanda… si trova con la rappresentazione fuori come abbinare il codice più specifico al numero. Il mio meccanismo usa la lunghezza del prefisso di prefisso regionale per contribuire a calcolare fuori più adatto quello. Si noti che ho preso appena i vostri dati assicurati e rapidamente ho reso ad un certo CTEs da esso. Appena per mostrargli come il PRESCELTO funzionerebbe…
CON CalledNumbers COME (
SELEZIONARE “98798798797„ COME cliente
UNIONE PRESCELTI “19123123123„ --Ho cambiato questo valore dal vostro alberino originale
UNIONE PRESCELTI “13123123123„
UNIONE PRESCELTI “12423123127„
), AreaCodes COME (
SELEZIONARE “12„ COME prefisso, “raggruppano„ COME GroupName
UNIONE “98„ PRESCELTI, “gruppo B„
L'UNIONE “1„ PRESCELTO, “raggruppa A„
UNIONE “131„ PRESCELTI, “gruppo 5„
UNIONE “124„ PRESCELTI, “gruppo 4„
)
SELEZIONARE CalledNumbers.*, AreaCodes.*
Da CalledNumbers
ESTERNI DI SINISTRA UNISCONO AreaCodes su CalledNumbers.Account COME AreaCodes.Prefix + “%„
DOVE LEN (AreaCodes.Prefix) = (SELEZIONARE il max (LEN (prefisso)) Da AreaCodes DOVE CalledNumbers.Account GRADICONO AreaCodes.Prefix + “%")
E per per fare il vostro aggiornamento quanto basta:
AGGIORNAMENTO CalledNumbers STABILITO CalledNumbers.GroupName = AreaCodes.GroupName DA
CalledNumbers
ESTERNI DI SINISTRA UNISCONO AreaCodes su CalledNumbers.Account COME AreaCodes.Prefix + “%„
DOVE LEN (AreaCodes.Prefix) = (SELEZIONARE il max (LEN (prefisso)) Da AreaCodes DOVE CalledNumbers.Account GRADICONO AreaCodes.Prefix + “%")