elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
26 Mayo 2012, 15:55  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Consulta en SQL; Replace
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta en SQL; Replace  (Leído 835 veces)
astinx

Desconectado Desconectado

Mensajes: 95



Ver Perfil
Consulta en SQL; Replace
« en: 31 Octubre 2011, 17:28 »

Hola, tengo problemas realizando la siguiente consulta:

"Listar el DNI, Apellido, Nombre, Género y Fecha de nacimiento de los alumnos y profesores de la institución detallando por cada uno que rol cumple, alumno o profesor. Además, el género se debe proyectar de forma que se lea 'femenino' o 'masculino' y no 'F' o 'M'. Dicho listado deberá estar ordenado por nombre y apellido"

Tablas
PERSONA = (DNI, Apellido, Nombre, Fecha_Nacimiento, Estado_Civil, Genero)
ALUMNO = (DNI, Legajo, Año_Ingreso)
PROFESOR = (DNI, Matricula, Nro_Expediente)
TITULO = (Cod_Titulo, Nombre, Descripción)
TITULO-PROFESOR = (Cod_Titulo, DNI, Fecha)
CURSO = (Cod_Curso, Nombre, Descripción, Fecha_Creacion, Duracion)
ALUMNO-CURSO = (DNI, Cod_Curso, Año, Desempeño, Calificación)
PROFESOR-CURSO = (DNI, Cod_Curso, Fecha_Desde, Fecha_Hasta)

Mi duda es la siguiente:

Creo que hay que usar un replace para el tema de renombrar los campos con el criterio de si en el atributo genero dice "masculino", lo cambio por "M", ¿Pero como lo puedo aplicar para ambos casos en una sola consulta? , es decir, por lo que he leído la función replace recibe los parámetros como replace(nombre_atributo,'string a buscar','lo reemplazo por').

Otra cosa es que me pide detallar si es alumno o profesor, supongo que para eso tendría que agregar un atributo "tipo", supongase, que diga "alumno" o "profesor", pero también no se me ocurre como lograrlo en una sola consulta.

Luego lo demás como los INNER JOIN, y el ORDER BY para el ultimo inciso es fácil.

Cualquier detalle que me puedan decir es de gran utilidad.

Desde ya muchas gracias por detenerse a leer. Saludos!


En línea

La programación hoy en día es una carrera entre los ingenieros de software intentando construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De momento, el Universo está ganando
fran800m

Conectado Conectado

Mensajes: 139



Ver Perfil
Re: Consulta en SQL; Replace
« Respuesta #1 en: 31 Octubre 2011, 20:21 »

Citar
¿Pero como lo puedo aplicar para ambos casos en una sola consulta?

Usa case when en la select

select case when genero = 'masculino' then 'm' else 'f'

no te hace falta el replace en este caso, aunque podias hacer un replace anidado

replace(replace(Genero, 'masculino', 'm'), 'femenino', 'f')

para este caso te recomiendo case when

Un abrazo,


En línea
astinx

Desconectado Desconectado

Mensajes: 95



Ver Perfil
Re: Consulta en SQL; Replace
« Respuesta #2 en: 2 Noviembre 2011, 02:02 »

Muchisimas gracias, tu respuesta me ayudo a la resolución del problema.
En línea

La programación hoy en día es una carrera entre los ingenieros de software intentando construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De momento, el Universo está ganando
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Extract ICON and REPLACE
Programación C/C++
kylls 1 576 Último mensaje 29 Mayo 2008, 01:00
por kylls
replace texto centrado « 1 2 »
Programación Visual Basic
andrer03 18 2,676 Último mensaje 2 Febrero 2009, 15:50
por andrer03
Problema con la funcion Replace en JS
Desarrollo Web
pacomt 1 1,696 Último mensaje 17 Abril 2010, 14:40
por Spider-Net
Replace que borra todo..
Programación Visual Basic
Petro_Boca 5 783 Último mensaje 2 Agosto 2010, 21:36
por BlackZeroX (Astaroth)
replace mysql
Bases de Datos
OssoH 2 1,422 Último mensaje 20 Julio 2011, 22:12
por OssoH
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines