elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  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 3,895 veces)
astinx

Desconectado Desconectado

Mensajes: 111



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

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

Desconectado Desconectado

Mensajes: 204



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

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: 111



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

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
replace mysql
Bases de Datos
OssoH 2 3,715 Último mensaje 20 Julio 2011, 22:12 pm
por OssoH
Equivalente de funcion REPLACE de vb en C ?
Programación C/C++
User 5 3,749 Último mensaje 25 Julio 2012, 01:07 am
por User
Dejar cursor al final luego de usar replace
Programación Visual Basic
oliverm 4 2,119 Último mensaje 2 Junio 2013, 23:03 pm
por XresH
javascript replace text link
Desarrollo Web
SγиtαxEяяoя 1 2,304 Último mensaje 31 Mayo 2014, 12:09 pm
por engel lex
REPLACE con varias reglas
Bases de Datos
[u]nsigned 1 2,222 Último mensaje 6 Marzo 2018, 19:20 pm
por EFEX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines