Autor Tema: (Ayuda) Update usando un select  (Leído 5694 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
(Ayuda) Update usando un select
« : julio 29, 2009, 09:13:36 am »
Bueno la cuestion esta as:

Tengo dos tablas

Tabla1 =  Documento
campos:
NumeroDocumento
Cliente
NombreCliente
Notas

Tabla2 =  DocumentoConNotas
Campos:
NumeroDocumento
Notas

No pregunten por que esta asi pues mis razones tengo  :roll:

lo datos que contienen


Tabla: Documento

NumeroDocumento       Cliente      NombreCliente     Notas
000001                              001           Juan Perez         Null
000002                               002           Pedro Perez       Null
000003                              003           Julio Rios           Null




Tabla: DocumentoConNotas

NumeroDocumento             Notas
000001                           Cliente paragar....
000002                           Credito a 6 meses...
000003                           Credito a 30 dias


Entonces esto el punto es que en la tabla1 (es la que mas me inporta) no posee los campos notas, mientras que la tabla2 si los tiene
el numero de registros es el mismo tiene la misma cantidad y tipo de datos

Necesito hacer un update el cual me actualice las  notas de tabla1 de cada documento partiendo de la nota de la tabla2

tengo un query asi pero no me funciona  :phew:

Citar
update pruebas.clana.Documento
set notas = (select notas from pruebas.dbo.DocumentoConNotas)
where pruebas.clana.Documento.documento = (select documento
from pruebas.dbo.DocumentoConNotas)

me devuelve este error

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

se que esta malisimo pues es error de logica ...

HelpMe....
La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD

Desconectado JGuillen™

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3449
  • PHP,C#,MySQL,SQL
Re: (Ayuda) Update usando un select
« Respuesta #1 : julio 29, 2009, 09:39:04 am »
Hacelo a si a ver q tal funciona...

UPDATE DOCUMENTO AS A INNER JOIN DOCUMENTOCONNOTAS AS B ON A.NUMERODOCUMENTO = B.NUMERODOCUMENTO SET A.NOTAS = B.NOTAS

Intentanlo y me avisas a ver q pasa....  :thumbsup:


PD: yo no lo he intentado pero se me ocurrio ... jeje
« Última Modificación: julio 29, 2009, 09:40:48 am por JGuillen™ »

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
Re: (Ayuda) Update usando un select
« Respuesta #2 : julio 29, 2009, 09:45:57 am »
Hacelo a si a ver q tal funciona...

UPDATE DOCUMENTO AS A INNER JOIN DOCUMENTOCONNOTAS AS B ON A.NUMERODOCUMENTO = B.NUMERODOCUMENTO SET A.NOTAS = B.NOTAS

Intentanlo y me avisas a ver q pasa....  :thumbsup:


PD: yo no lo he intentado pero se me ocurrio ... jeje



Me devolvio esto


Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'AS'.
La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD

Desconectado JGuillen™

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3449
  • PHP,C#,MySQL,SQL
Re: (Ayuda) Update usando un select
« Respuesta #3 : julio 29, 2009, 09:47:36 am »


Me devolvio esto


Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'AS'.


con que gestor de base de datos estas trabajando?


« Última Modificación: julio 29, 2009, 10:04:17 am por JGuillen™ »

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
Re: (Ayuda) Update usando un select
« Respuesta #4 : julio 29, 2009, 09:58:03 am »
con que gestor de base de datos estas trabajando?


Ups perdon por no aclarar  :phew:

uso MSSQL Server 2005

La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD

Desconectado JGuillen™

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3449
  • PHP,C#,MySQL,SQL
Re: (Ayuda) Update usando un select
« Respuesta #5 : julio 29, 2009, 10:04:33 am »

Ups perdon por no aclarar  :phew:

uso MSSQL Server 2005




Bueno intenta haciendolo a asi


UPDATE DOCUMENTO INNER JOIN DOCUMENTOCONNOTAS ON DOCUMENTO.NUMERODOCUMENTO = DOCUMENTOCONNOTAS.NUMERODOCUMENTO SET DOCUMENTO.NOTAS = DOCUMENTOCONNOTAS.NOTAS


ya lo probe con mysql y funciona perfectamente.!

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: (Ayuda) Update usando un select
« Respuesta #6 : julio 29, 2009, 10:08:56 am »
update a
set a.notas=b.notas
from pruebas.clana.Documento as a, pruebas.dbo.DocumentoConNotas as b
where a.pruebas.dbo.DocumentoConNotas=b.pruebas.dbo.DocumentoConNotas
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
Re: (Ayuda) Update usando un select
« Respuesta #7 : julio 29, 2009, 10:26:25 am »

Bueno intenta haciendolo a asi


UPDATE DOCUMENTO INNER JOIN DOCUMENTOCONNOTAS ON DOCUMENTO.NUMERODOCUMENTO = DOCUMENTOCONNOTAS.NUMERODOCUMENTO SET DOCUMENTO.NOTAS = DOCUMENTOCONNOTAS.NOTAS


ya lo probe con mysql y funciona perfectamente.!


ok. SI ME FUNCIONO MAN

solo que le hice  un pequeñito cambio

Citar
UPDATE PRUEBAS.clana.documento
SET PRUEBAS.clana.documento.NOTAS = PRUEBAS.dbo.DocumentoConNotas.NOTAS
from PRUEBAS.clana.documento INNER JOIN PRUEBAS.dbo.DocumentoConNotas
ON PRUEBAS.clana.documento.DOCUMENTO = PRUEBAS.dbo.DocumentoConNotas.DOCUMENTO

 :yahoo: Gracias!!!
La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: (Ayuda) Update usando un select
« Respuesta #8 : julio 29, 2009, 10:37:25 am »
y si creas un trigger para evitar estar haciendo esto¿¿??

o quitar el campo notas de la tabla Documento y crear una vista que haga lo que necesitas ?¿¿?
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
Re: (Ayuda) Update usando un select
« Respuesta #9 : julio 29, 2009, 10:42:10 am »
y si creas un trigger para evitar estar haciendo esto¿¿??

o quitar el campo notas de la tabla Documento y crear una vista que haga lo que necesitas ?¿¿?


Nop man solo lo necesitaba para la carga inicial pues ahora ya se carga automaticamente en la tabla Documento, ya no necesitare mas hacerlo de nuevo, como te repito es solo para la carga inicial (El historico)

el trigger ya lo hice pero no para esta funcion sino para hacer un insert desde un sitio remoto, el problema era que antes este campo no estaba incluido en el trigger pero ahora sip.

Grx...
La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD