[RESUELTO]SQL Actualización tabla mediante consulta

Discute sobre las herramientas de la base de datos
Responder
fca1970
Mensajes: 14
Registrado: Jue Feb 26, 2009 9:27 am

[RESUELTO]SQL Actualización tabla mediante consulta

Mensaje por fca1970 »

Hola,

Por más vueltas que le doy no encuentro la solución, que debe ser sencilla, y por eso ya la petición de ayuda.

Tengo una tabla que se llama "Profesorado", con ID, Apellidos y Nombre.
Creo un formulario con un listado o un cuadro combinado.
Yo quiero que en la lista salga el resultado de Apellidos + Nombre. Pero no me deja elegir una consulta. Así que la hago aparte, copio el sql y lo pego en el origen de los datos:

Código: Seleccionar todo

SELECT DISTINCT "ID" AS "ID", "Apellidos" AS "Apellidos", "Nombre" AS "Nombre", CONCAT( "Nombre" || ', ' || "Apellidos" ) AS "Completo" FROM "Profesorado"
Pero entonces, en la lista desplegable me sale el ID y no veo la forma de decir qué campo quiero que muestre. Eso podría ser la primera solución.

Como por aquí no hubo forma de resolver, decidí hacer incluir un campo más en la tabla "Profesorado" llamado completo y una consulta de actualización aparte. Y actualizar esa columna con un código SQL:

Código: Seleccionar todo

SELECT DISTINCT "ID" AS "ID", "Apellidos" AS "Apellidos", "Nombre" AS "Nombre", CONCAT( "Nombre" || ', ' || "Apellidos" ) AS "Union" FROM "Profesorado"
UPDATE "Profesorado" SET "Completo"= "Union"
Me dice "No se pudo cargar el contenido de datos"
Si lo hago así:

Código: Seleccionar todo

UPDATE "Profesorado" SET "Completo"= (SELECT DISTINCT "ID" AS "ID", "Apellidos" AS "Apellidos", "Nombre" AS "Nombre", CONCAT( "Nombre" || ', ' || "Apellidos" ) FROM "Profesorado")
Me dice "Statement dos not generate a result set"
No sé por qué, ya que la consulta sí funciona cuando no le digo que la utilice para actualizar

Cualquier ayuda será agradecida
Última edición por fca1970 el Lun May 30, 2022 10:46 pm, editado 1 vez en total.
FJCC-ES
Mensajes: 895
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: SQL Actualización tabla mediante consulta

Mensaje por FJCC-ES »

¿No sirve una consulta como en la imagen adjunta?

Código: Seleccionar todo

SELECT "Nombre" ||  ', ' || "Apellidos", "ID" FROM "Profesorado"
Listado.JPG
Listado.JPG (20.48 KiB) Visto 2553 veces
fca1970
Mensajes: 14
Registrado: Jue Feb 26, 2009 9:27 am

Re: SQL Actualización tabla mediante consulta

Mensaje por fca1970 »

La consulta de ese modo ya la he hecho, pero entonces , en vez de salir los nombres de los profesores sale su ID, que es un numero
FJCC-ES
Mensajes: 895
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: SQL Actualización tabla mediante consulta

Mensaje por FJCC-ES »

Veo los nombres en el formulario en esta base de datos.
Adjuntos
DB_Play2.zip
(9.53 KiB) Descargado 164 veces
fca1970
Mensajes: 14
Registrado: Jue Feb 26, 2009 9:27 am

Re: SQL Actualización tabla mediante consulta

Mensaje por fca1970 »

Gracias. Estaba seguro que era una cosa sencilla, pero faltaba el "truco": olvidarse de CONCAT y directamente hacer la unión de campos.
Responder