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

[SOLUCIONADO] Update obtenido de X contenido

Estas en el tema de Update obtenido de X contenido en el foro de SQL Server en Foros del Web. Buenas tardes, Antes de postear e buscado por google, en este foro y en otros y no encuentro mi respuesta. Necesito realizar un update en ...
  #1 (permalink)  
Antiguo 28/02/2015, 07:55
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Update obtenido de X contenido

Buenas tardes,
Antes de postear e buscado por google, en este foro y en otros y no encuentro mi respuesta.

Necesito realizar un update en una tabla, y el valor viene de una palabra de otra tabla
Por ejemplo

CAMPO1-> PETICION: No me funciona el ordenador Informatica: 12343241111
CAMPO2->ID: 12343241111

Si me podeis guiar un poco.

Muchas gracias
Saludos!
  #2 (permalink)  
Antiguo 28/02/2015, 08:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Update obtenido de X contenido

Usando JOIN...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 28/02/2015, 11:00
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Update obtenido de X contenido

Se que usando el JOIN realizaria lo que quiero, pero me falta algún parametro en el Where, para que solo seleccione de todo el registro, la palabra Informatica: XXXX

Última edición por oscaar90; 28/02/2015 a las 11:08
  #4 (permalink)  
Antiguo 28/02/2015, 15:12
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Update obtenido de X contenido

Lo e solucionado con php y substring al final
  #5 (permalink)  
Antiguo 28/02/2015, 15:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Update obtenido de X contenido

Cita:
Iniciado por oscaar90 Ver Mensaje
Lo e solucionado con php y substring al final
O sea que en lugar de solucionarlo, le hiciste un parche sucio con programación...

La verdad no lo entiendo, porque con lo que ya tenías la solución la podías encontrar en un manual para dummies.

¿Es tan díficil hacer algo como:
Código SQL:
Ver original
  1. UPDATE tabla1 T1 INNER JOIN tabla2 T2 ON T1.id_loquesea = T2.id
  2. SET T1.campodestino = T2.campovalor
  3. WHERE T2.id = 12343241111
Por supuesto, para que esto sirva realmente estoy asumiendo que tienes las tablas bien diseñadas, que no hay campos multivaluados y que los las relaciones están debidamente creada.
Digo esto porque tu ejemplo del primer post da la impresión de que tienes datos entremezclados en el mismo campo... LO que sería lo mismo que decir "datos - basura".
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 28/02/2015 a las 17:48
  #6 (permalink)  
Antiguo 01/03/2015, 01:15
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Update obtenido de X contenido

Cita:
Iniciado por gnzsoloyo Ver Mensaje
O sea que en lugar de solucionarlo, le hiciste un parche sucio con programación...

La verdad no lo entiendo, porque con lo que ya tenías la solución la podías encontrar en un manual para dummies.

¿Es tan díficil hacer algo como:
Código SQL:
Ver original
  1. UPDATE tabla1 T1 INNER JOIN tabla2 T2 ON T1.id_loquesea = T2.id
  2. SET T1.campodestino = T2.campovalor
  3. WHERE T2.id = 12343241111
Por supuesto, para que esto sirva realmente estoy asumiendo que tienes las tablas bien diseñadas, que no hay campos multivaluados y que los las relaciones están debidamente creada.
Digo esto porque tu ejemplo del primer post da la impresión de que tienes datos entremezclados en el mismo campo... LO que sería lo mismo que decir "datos - basura".
Si, fue un parche sucio con programación pero e salido del apuro, ya que solo tenia que rellenar una tabla que se borro.

Insisto, con el INNER JOIN que muestras, solo cogeria la id que fuese igual a 12343241111 del campo2.
Yo necesitaba que cogiese X id de una palabra, la id cada vez es distinta, por eso usé substring y php ya que así si se hacerlo.

Saludos
  #7 (permalink)  
Antiguo 01/03/2015, 08:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Update obtenido de X contenido

Cita:
Yo necesitaba que cogiese X id de una palabra, la id cada vez es distinta, por eso usé substring
A ver si entiendo bien...
¿Quieres decir que dentro de un mismo campo tienes todo esto?:
Cita:
"PETICION: No me funciona el ordenador Informatica: 12343241111"
¿Es así?

Bueno, si ese es el caso, desde ya te digo que tienes un muy serio y enorme problema, porque eso está completa y absolutamente mal.
Eso se denomina "campo multivaluado", cosa prohibida en Bases de Datos, y por sobre todo se trata de un campo de múltiples dominios, cosa que no sólo está prohibida en las bases de datos relacionales, sino que además viola completamente el paradigma relacional.
En otras palabras, tendrías datos-basura, y no existe forma de resolver tus consultas a esa tabla por medio de SQL.

Ese"campo", por llamarlo de algún modo, debe descomponerse en 3 campos o columnas distintas:
Cita:
"PETICION" | "No me funciona el ordenador Informatica" | 12343241111
Esos tres valores no deben estar en el mismo campo. Nunca.

Yo asumía que el JOIN funcionaría porque suponía que tu tabla estaba bien diseñada, y no era un repositorio de basura, como lo que describes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 01/03/2015, 08:15
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Update obtenido de X contenido

Antes estaba todo en una columna, llamada peticion, con el contenido "No me funciona el ordenador Informatica:12343241111"
La peticion es "No me funciona el Ordenador" y la id de la incidencia (campo numero aleatorio que nunca se puede repetir) 12343241111.
En su momento lo separé en 2 columnas
1)PETICION
2)ID_INFORMATICA
Estaba bien organizado, pero por un update erroneo se perdieron todos los datos, y tube que pasar otra vez 5000 registros con la estructura antigua incorrecta.

Por eso necesitaba solo "capturar" un string de una cadena, sin saber su valor exacto.

Gracias por la ayuda igualmente.

Saludos!
  #9 (permalink)  
Antiguo 01/03/2015, 08:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Update obtenido de X contenido

Para futuro: Describe completamente el problema, con antecedentes y todos los detalles del escenario. Es imperativo entender el origen del problema para saber qué conviene hacer.
Evitarás malos entendidos, propuestas innecesarias, y juicios indebidos.
Por sobre todo, de haber descrito así el problema, te hubiésemos recomendado desde el principio que lo resolvieras por programación... Ya que es un defecto de datos inmanejable sin al menos usar T-SQL, haciendo lo mismo que finalmente hiciste por un lenguaje.

Descripciones incompletas llevan a inferencias erróneas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 01/03/2015, 08:40
 
Fecha de Ingreso: febrero-2015
Mensajes: 55
Antigüedad: 9 años, 2 meses
Puntos: 7
Respuesta: Update obtenido de X contenido

Lo siento por el mal entendido. La próxima vez explicaré todo con antecedentes y datos posibles.
Muchas gracias por todo.

Etiquetas: contenido, tabla, update
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 08:14.