Het interessante vraag… probleem ligt met het berekenen hoe te om de meest specifieke code aan het aantal aan te passen. Mijn mechanisme gebruikt de lengte van de Prefix van het Landnummer helpen meest aangewezen berekenen. Merk op dat ik net uw verstrekte gegevens heb genomen en snel tot één of andere CTEs uit het gemaakt. Om u enkel te tonen hoe UITGEZOCHT… zou werken
MET CalledNumbers ZOALS (
SELECTEER „98798798797“ ALS Rekening
DE UNIE SELECTEERT „19123123123“ --Ik heb deze waarde van uw originele post veranderd
DE UNIE SELECTEERT „13123123123“
DE UNIE SELECTEERT „12423123127“
), AreaCodes ZOALS (
SELECTEER „12“ AANGEZIEN de Prefix, „“ ALS GroupName groepeert
De UNIE SELECTEERT „98“, „Groep B“
De UNIE SELECTEERT „1“, „groepeer A“
De UNIE SELECTEERT „131“, „groepeer 5“
De UNIE SELECTEERT „124“, „groepeer 4“
)
SELECTEER CalledNumbers.*, AreaCodes.*
VAN CalledNumbers
LINKER BUITEN SLUIT zich aan bij AreaCodes OP CalledNumbers.Account ALS AreaCodes.Prefix + „%“
WAAR LEN (AreaCodes.Prefix) = (UITGEZOCHTE MAXIMUM (LEN (Prefix)) VAN AreaCodes WAAR CalledNumbers.Account ALS AreaCodes.Prefix + „%“)
En om uw update zonodig te doen:
UPDATE VASTGESTELDE CalledNumbers CalledNumbers.GroupName = AreaCodes.GroupName VAN
CalledNumbers
LINKER BUITEN SLUIT zich aan bij AreaCodes OP CalledNumbers.Account ALS AreaCodes.Prefix + „%“
WAAR LEN (AreaCodes.Prefix) = (UITGEZOCHTE MAXIMUM (LEN (Prefix)) VAN AreaCodes WAAR CalledNumbers.Account ALS AreaCodes.Prefix + „%“)