SQL - PROBLEMA CON UPDATE.. POR FA AYUDA

 
Vista:

PROBLEMA CON UPDATE.. POR FA AYUDA

Publicado por LUCKYTA (5 intervenciones) el 07/02/2007 17:57:33
Hola, intento modificar una tabla (PRUEBA), añadiéndole los datos de la tabla TODOS (cuando coincida el nombre de PRUEBA con el de TODOS),
lo que intento hacer es lo siguiente, pero no me corre,
haber si alguien me puede hechar una manita, o sugerir otra cosa (no se si asi se hace)

Set BASEX = DAO.OpenDatabase("C:\BASE.MDB")
Set R1 = BASEX.OpenRecordset("SELECT * FROM TODOS")
Set R2 = BASEX.OpenRecordset("SELECT * FROM PRUEBA'", dbOpenDynaset)
MISQL = "UPDATE PRUEBA SET PRUEBA.TELEFONO = TODOS.TELEFONO, PRUEBA.NOMBRE = TODOS.NOMBRE WHERE NOMBRE IN(SELECTED NOMBRE FROM TODOS)"
BASEX.Execute MISQL

gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMA CON UPDATE.. POR FA AYUDA

Publicado por luishoracio (33 intervenciones) el 07/02/2007 19:45:41
Buenas tardes,

yo lo haría así:

MISQL = "UPDATE PRUEBA SET PRUEBA.TELEFONO = TODOS.TELEFONO, PRUEBA.NOMBRE = TODOS.NOMBRE WHERE PRUEBA.NOMBRE = TODOS.NOMBRE

Si alguna cosa me puedes escribir al e-mail

Hasta pronto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMA CON UPDATE.. POR FA AYUDA

Publicado por Isaías (5072 intervenciones) el 07/02/2007 19:55:54
Los SELECT * que haces antes, estan de mas.

UPDATE PRUEBA SET PRUEBA.TELEFONO = TODOS.TELEFONO, PRUEBA.NOMBRE = TODOS.NOMBRE
FROM PRUEBA JOIN TODOS ON PRUEBA.NOMBRE = TODOS.NOMBRE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMA CON UPDATE.. POR FA AYUDA

Publicado por LUCKYTA (5 intervenciones) el 07/02/2007 21:27:19
YA LO INTENTE CON ESTA; PERO ME MARCA ERROR DE SINTAXIS, FALTA OPERADOR

MISQL = "UPDATE LLAMADASTOTAL SET LLAMADASTOTAL.TELEFONO = TODOS2.TELEFONO, LLAMADASTOTAL.NOMBRE = TODOS2.NOMBRE FROM LLAMADASTOTAL JOIN TODOS2 ON(LLAMADASTOTAL.NOMBRE = TODOS2.NOMBRE)"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMA CON UPDATE.. POR FA AYUDA

Publicado por Isaías (5072 intervenciones) el 07/02/2007 22:27:23
Aqui esta la prueba de escritorio

Aunque, aqui asumo que lo que debe actualizar es el NOMBRE, que es lo que cambia en la tabla #TODOS2

CREATE TABLE #LLAMADASTOTAL(TELEFONO INT, NOMBRE VARCHAR(60))
CREATE TABLE #TODOS2(TELEFONO INT, NOMBRE VARCHAR(60))

INSERT INTO #LLAMADASTOTAL VALUES(1, 'UNO')
INSERT INTO #LLAMADASTOTAL VALUES(2, 'DOS')
INSERT INTO #LLAMADASTOTAL VALUES(3, 'TRES')

INSERT INTO #TODOS2 VALUES(1, 'DEBE SER UNO')
INSERT INTO #TODOS2 VALUES(2, 'DEBE SER DOS')
INSERT INTO #TODOS2 VALUES(3, 'DEBE SER TRES')

UPDATE #LLAMADASTOTAL SET #LLAMADASTOTAL.TELEFONO = #TODOS2.TELEFONO, #LLAMADASTOTAL.NOMBRE = #TODOS2.NOMBRE
FROM #LLAMADASTOTAL JOIN #TODOS2 ON #LLAMADASTOTAL.TELEFONO = #TODOS2.TELEFONO

SELECT * FROM #LLAMADASTOTAL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar