Coloca el UPDATE SET adicional, en caso de haber un 4o numero
Código SQL:
Ver original-- Creo mis tablas de prueba
CREATE TABLE #cliente (id INT IDENTITY (1,1) PRIMARY KEY, Nombre VARCHAR(50), telefono1 VARCHAR(10), telefono2 VARCHAR(10),telefono3 VARCHAR(10))
CREATE TABLE #telefonos (id INT, idtel INT, telefono VARCHAR(10))
-- Inserto mis registros de prueba
INSERT INTO #cliente VALUES ('Israel Hinojosa', '','','')
INSERT INTO #telefonos VALUES( 1, 1, '1234567890')
INSERT INTO #telefonos VALUES( 1, 2, '1234509876')
INSERT INTO #telefonos VALUES( 1, 3, '6789012345')
-- Reviso mis datos
SELECT * FROM #cliente
SELECT * FROM #telefonos
-- Creo mi CTE
WITH tels (id, idtel, telefono) AS
(
SELECT
id ,
idtel ,
telefono
FROM
#telefonos
)
-- Actualizo en base al CTE
UPDATE #cliente SET
telefono1 = (SELECT telefono FROM tels WHERE id = #cliente.id AND idtel = 1),
telefono2 = (SELECT telefono FROM tels WHERE id = #cliente.id AND idtel = 2),
telefono3 = (SELECT telefono FROM tels WHERE id = #cliente.id AND idtel = 3)
-- Compruebo la actualizacion
SELECT * FROM #cliente