Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/01/2011, 13:54
Deazu
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
UPDATE que depende de los resultados de un SELECT

Hola. Tengo un problema y quisiera que me ayudarán.
Tengo una tabla A:
CA CB
-- --
01 AA
02 BB


Y una columna B:
CA CB CC Error
-- -- -- ----
01 AA A1 NULL
02 BB B2 NULL
09 MM M9 NULL


La tabla A y B se relacionan por las columnas CA y CB; donde la tabla A es la tabla maestro y B es la tabla detalle.
Las tablas no cuentan con una restrinción de llaves foraneas, ya que la tabla B es una tabla de trabajo.
Código SQL:
Ver original
  1. CREATE TABLE #A (
  2. CA VARCHAR(2),
  3. CB VARCHAR(2)
  4. )
  5. --
  6. CREATE TABLE #B (
  7. CA VARCHAR(2),
  8. CB VARCHAR(2),
  9. CC VARCHAR(2),
  10. ERROR VARCHAR(2)
  11. )
  12. --
  13. INSERT INTO #A VALUES ('01', 'AA')
  14. INSERT INTO #A VALUES ('02', 'BB')
  15. --
  16. INSERT INTO #B VALUES ('01', 'AA', 'A1', NULL)
  17. INSERT INTO #B VALUES ('02', 'BB', 'B2', NULL)
  18. INSERT INTO #B VALUES ('09', 'MM', 'M9', NULL)
Con esas tablas si se realiza el siguiente query
Código SQL:
Ver original
  1. SELECT * FROM #B b LEFT JOIN #A a ON b.CA = a.CA AND  b.CB = a.CB
  2. WHERE a.CA IS NULL
Se obtienen los registros que no cumplen con la restrincion

La pregunta es, ¿como puedo hacer un UPDATE a la tabla B con los registros que cumplan en el SELECT?

Saludos!