Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

SQL: Actualizar registros a partir de otra tabla...

Estas en el tema de SQL: Actualizar registros a partir de otra tabla... en el foro de PostgreSQL en Foros del Web. Estimados: tengo la siguiente consulta y me gustaría que me ayudaran a solucionarlo. El tema es el siguiente tengo 2 tablas: TABLA1 codigo | nombre ...
  #1 (permalink)  
Antiguo 18/05/2008, 22:52
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
SQL: Actualizar registros a partir de otra tabla...

Estimados:
tengo la siguiente consulta y me gustaría que me ayudaran a solucionarlo. El tema es el siguiente tengo 2 tablas:
TABLA1
codigo | nombre
--------------------
1 |
2 |
3 |
4 |

TABLA2
id | codigo | nombre
----------------------------
10 | 1 | nombre1
20 | 2 | nombre2
30 | 3 | nombre3
40 | 4 | nombre4

lo que necesito hacer es actualizar la TABLA1, el campo nombre donde tabla1.codigo=tabla2.codigo...es decir, traer el nombre de la TABLA2, algo en lo que pense es los iguiente pero no funcionó...
UPDATE tabla1 SET tabla1.nombre=tabla2.nombre WHERE tabla1.codigo=tabla2.codigo
también probé algunas cosas con subconsultas pero nada.
De antemano muchas gracias.
Saludos
__________________
________________________________________

Ugho.

Última edición por Ugho; 22/05/2008 a las 08:31
  #2 (permalink)  
Antiguo 20/05/2008, 10:49
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Respuesta: SQL: Actualizar registros a partir de otra tabla...

Estimados amigos:
no se puede hacer esto en PostgreSQL?
Sino para buscar otro tipo de solución.
Gracias.
__________________
________________________________________

Ugho.
  #3 (permalink)  
Antiguo 20/05/2008, 11:15
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: SQL: Actualizar registros a partir de otra tabla...

Checa estos dos ejemplos
Cita:
Increment the sales count of the salesperson who manages the account for Acme Corporation, using the FROM clause syntax:
UPDATE employees SET sales_count = sales_count + 1 FROM accounts
WHERE accounts.name = 'Acme Corporation'
AND employees.id = accounts.sales_person;


Perform the same operation, using a sub-select in the WHERE clause:
UPDATE employees SET sales_count = sales_count + 1 WHERE id =
(SELECT sales_person FROM accounts WHERE name = 'Acme Corporation');
  #4 (permalink)  
Antiguo 23/05/2008, 03:34
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Respuesta: SQL: Actualizar registros a partir de otra tabla...

Te recomiendo encarecidamente la primera opción, hay que tener mucho cuidado con las subconsultas para UPDATE y DELETE.

Salu2
  #5 (permalink)  
Antiguo 23/05/2008, 09:17
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Respuesta: SQL: Actualizar registros a partir de otra tabla...

Estimados:
finalmente me resultó lo que necesitaba y quedó de la siguiente manera:
------------------------------------
UPDATE tabla1 SET nombre=tabla2.nombre FROM tabla2 WHERE tabla1.codigo=tabla2.codigo
------------------------------------
No se porque me di tantas vueltas en un principio...pero ahora me resultó.
Gracias por responder.
Saludos
__________________
________________________________________

Ugho.
  #6 (permalink)  
Antiguo 17/06/2008, 15:30
 
Fecha de Ingreso: junio-2005
Mensajes: 6
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: SQL: Actualizar registros a partir de otra tabla...

Hola a todos, yo tambien quiero comentar que estaba buscando este mismo tema y tenia el mismo error, gracias a este foro resolbi mi problema adjunto el resultado de la solucion

UPDATE res_partner
SET user_id = vendedores.codigo
from vendedores where vendedores.cliente = res_partner.name;
  #7 (permalink)  
Antiguo 17/06/2008, 15:31
 
Fecha de Ingreso: junio-2005
Mensajes: 6
Antigüedad: 19 años, 5 meses
Puntos: 0
De acuerdo Respuesta: SQL: Actualizar registros a partir de otra tabla...

Cita:
Iniciado por cllamas Ver Mensaje
Hola a todos, yo tambien quiero comentar que estaba buscando este mismo tema y tenia el mismo error, gracias a este foro resolbi mi problema adjunto el resultado de la solucion

UPDATE res_partner
SET user_id = vendedores.codigo
from vendedores where vendedores.cliente = res_partner.name;
  #8 (permalink)  
Antiguo 20/09/2009, 07:54
Avatar de nekcab  
Fecha de Ingreso: noviembre-2004
Mensajes: 223
Antigüedad: 20 años
Puntos: 0
Respuesta: SQL: Actualizar registros a partir de otra tabla...

Efectivamente, con la orden indicada por "Ugho" y "Cllamas" se obtiene el resultado esperado.

En mi caso, me dió problemas en W$ al concatenar varias condiciones, pero como no quise complicarme, lo probé en un Debian, y sin problema.

Última edición por nekcab; 25/09/2009 a las 19:21
  #9 (permalink)  
Antiguo 20/09/2009, 10:08
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: SQL: Actualizar registros a partir de otra tabla...

Describe tu problema particular y pon algunos ejemplos de las cosas que has probado.
Para una próxima ocasión, te recomiendo abrir un nuevo tema y no reabrir uno con mas de un año de vigencia.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:40.