FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Update a una tabla que está relacionada con otra
Hola,
he mirado por el foro pero no me acabo de aclarar, ya no tengo la cabeza que tenía antes, a ver si pudieran echarme una mano, pero no al cuello. Tengo la siguiente consulta en un programa:
Esta consulta funciona, hace lo que quiero, pero tarda mucho en generar la subconsulta y actualizar los datos, ¿no habría alguna forma de hacer la consulta de actualización pero sin hacer subconsulta?.
Algo así, nada más que sin que de error y que funcione. Gracias y saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#2
|
||||
|
||||
Hola,
No especifica el motor de base de datos que usa, pero: Con SQL estándar, para muchos motores, podría hacer: Con Firebird, también podría hacer:
Con MS Sql, también podría hacer:
Con (algunas versiones de) Oracle, también podría hacer:
Pero siempre, siempre, se le va a demorar ese UPDATE mientras la selección de registros de la tabla productos no esté apropiadamente indexada. Desde mi humilde opinión, es la única opción. -
__________________
"constructive mind, destructive thoughts" |
#3
|
||||
|
||||
También en MySQL se puede usar el JOIN. Y concuerdo con TOPX en que sin los índices adecuados la consulta siempre será lenta.
// Saludos |
#4
|
||||
|
||||
Hola,
gracias TOPX y roman por vuestras respuestas y tiempo, parezco nuevo, el motor de base de datos es ACCESS, he probado con el código de MS SQL
No me funcionaba, me salía error de sintaxis, así que probé con la de oracle.
Con esta consulta funcionó de maravilla, además actualizó la tabla muy rápido, así que cojonudo. Muchas gracias.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#5
|
||||
|
||||
Je, je. Lo bueno es que TOPX aplicó la regla 5 de la otra guía de estilo:
Cita:
// Saludos |
#6
|
||||
|
||||
Cita:
Ahora, no sé si sea bueno o malo. No quiero malacostumbrar, pero tampoco dejar de ayudar si está en mis posibilidades. -
__________________
"constructive mind, destructive thoughts" |
#7
|
||||
|
||||
Pero la versión de firebird no vale, ese código sólo funcionará en un stored procedure
|
#8
|
||||
|
||||
En realidad lo hice adrede,
para que puedan repasar todos los motores de BBDD y no se apolillen sus conocimientos. Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#9
|
||||
|
||||
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Columna en cxgrid no relacionada con tabla o consulta | dunia_lv | OOP | 3 | 06-07-2010 18:31:16 |
Actualizar tabla con datos de otra tabla mediante UPDATE | Rockin | Firebird e Interbase | 18 | 28-11-2007 19:15:42 |
Problema al hacer un update en una tabla con datos de otra | Iseberiano | SQL | 3 | 08-06-2005 12:32:14 |
Update de una tabla con información de otra | Manuel | SQL | 1 | 26-05-2005 20:07:38 |
UPDATE con referencia a otra tabla... | JorgeBec | SQL | 6 | 05-08-2004 20:48:36 |
|