SQL - CONSULTAS MULTIPLES

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 13 puestos en SQL (en relación al último mes)
Gráfica de SQL

CONSULTAS MULTIPLES

Publicado por Damian (3 intervenciones) el 08/04/2019 17:43:47
Estimados buen dia,
Existe alguna forma mediante un UN SOLO select de recuperar por ejemplo los valores de Juan Perez (registro 1) y de Carlos Gonzalez (registro 6)
La tabla tiene muchos registros y al resultado de un select, le debo realizar un update. Para no realizar el update uno a uno es que realizo la consulta. Muchas Gracias. Sdos

tabla2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

CONSULTAS MULTIPLES

Publicado por Vega (73 intervenciones) el 09/04/2019 10:51:28
Hola Damian:
¿Qué select estás haciendo hasta ahora?

¿Tienes alguna aplicación haciendo la consulta programáticamente o sólo eres tú haciendo la consulta como usuario de la BD?

También sería útil saber el motor de SQL que estás usando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CONSULTAS MULTIPLES

Publicado por Damian (3 intervenciones) el 10/04/2019 15:02:07
Vega buenos días, la consulta la realizo yo como usuario.
Lo que tengo es un select que me devuelve varios pares de resultados (apellido y nombre), luego necesito a ese conjunto de datos hacerles un update
No se como determinar en el update la correlación entre apellido y nombre
Gracias
Sdos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

CONSULTAS MULTIPLES

Publicado por Vega (73 intervenciones) el 10/04/2019 22:15:51
Tienes que afinar la punteria de tu sentencia update,
Estás intentando actualizar los valores de dos registros discretos. No tienes más remedio que actualizarlos por separado a menos que lo que quieras es actualizar todos los registros con apellido "Gonzalez". En tal caso el update seria algo así:
1
update {table} set {columna} where Apellido = 'Gonzalez'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 150
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

CONSULTAS MULTIPLES

Publicado por Francisco (62 intervenciones) el 22/04/2019 15:08:19
Hola

Para eso existe la clave primaria - PK

Una posible solucion seria

1
2
UPDATE MI_TABLA SET MI_CAMPO = MI_VALOR
WHERE MI_CLAVE IN (SELECT CLAVE FROM OTRA_TABLA WHERE NOMBRE = 'Juan' AND APELLIDO='PEREZ' )

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CONSULTAS MULTIPLES

Publicado por Damian (3 intervenciones) el 22/04/2019 22:35:12
Gracias por la respuesta, como enuncie en la pregunta la idea es no hacer un select por cada nombre y apellido. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

CONSULTAS MULTIPLES

Publicado por Vega (73 intervenciones) el 23/04/2019 21:46:53
Hola otra vez,

He vuelto a leer tu pregunta.

Si lo que quieres es actualizar todos los registro asociados a lo que te devuelve tu SELECT inicial, lo que dijo Francisco sobre la clave primaria es lo que tienes que usar.
Por ejemplo, asumiendo que tu clave primaria es la columna 'Numero' vista en la imagen adjunta a tu pregunta, el sql seria algo así:

1
2
3
UPDATE {TABLA A ACTUALIZAR}
SET  {LA COLUMNA A ACTUALIZAR} = {VALOR A ACTUALIZAR}
WHERE Numero IN (SELECT Numero FROM ({TU SELECT} X )

Otra forma útil que a menudo se usa es la siguiente.
1
2
3
4
5
Update  T
SET {LA COLUMNA A ACTUALIZAR} = {VALOR A ACTUALIZAR}
, {OTRACOLUMNA A ACTUALIZAR} = {SU VALOR}
from Tabla t
JOIN ( {Aquí tu SELECT} ) D ON T.Numero = D.Numero

Lo siento pero si no es eso lo que necesitas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar