varias update unir una tablas simultaneamente relacionadas otra inner ejemplos datos consultar consulta sql postgresql

sql - update - consulta de actualización con join en dos tablas



update a dos tablas simultaneamente sql (5)

Oficialmente, los lenguajes SQL no admiten una cláusula JOIN o FROM en una instrucción UPDATE a menos que esté en una subconsulta. Por lo tanto, el enfoque Hoyle ANSI sería algo así como

Update addresses Set cid = ( Select c.id From customers As c where c.id = a.id ) Where Exists ( Select 1 From customers As C1 Where C1.id = addresses.id )

Sin embargo, muchos DBMSs como Postgres admiten el uso de una cláusula FROM en una instrucción UPDATE. En muchos casos, debe incluir la tabla de actualización y alias en la cláusula FROM, pero no estoy seguro acerca de Postgres:

Update addresses Set cid = c.id From addresses As a Join customers As c On c.id = a.id

Tengo tablas de customer y address .

Consulta:

SELECT * FROM addresses a, customers b WHERE a.id = b.id

devuelve 474 registros

Para estos registros, me gustaría agregar el id de customer tabla de customer en el cid de la tabla de address .

Ejemplo : si para el primer registro la identificación del cliente es 9 y la id de la dirección también es 9, entonces me gustaría insertar 9 en la columna de la tabla de direcciones.

Lo intenté:

UPDATE addresses a, customers b SET a.cid = b.id WHERE a.id = b.id

pero esto no parece funcionar.


Prueba este

UPDATE employee set EMPLOYEE.MAIDEN_NAME = (SELECT ADD1 FROM EMPS WHERE EMP_CODE=EMPLOYEE.EMP_CODE); WHERE EMPLOYEE.EMP_CODE >=''00'' AND EMPLOYEE.EMP_CODE <=''ZZ'';


Usar alias de tabla en la condición de unión:

update addresses a set cid = b.id from customers b where a.id = b.id



update addresses set cid=id where id in (select id from customers)