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


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos
| | | |-+  [RESUELTO]¿Cómo puedo seleccionar 2 veces el mismo campo por diferente criterio?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [RESUELTO]¿Cómo puedo seleccionar 2 veces el mismo campo por diferente criterio?  (Leído 464 veces)
|Miguel|

Desconectado Desconectado

Mensajes: 182



Ver Perfil
[RESUELTO]¿Cómo puedo seleccionar 2 veces el mismo campo por diferente criterio?
« en: 7 Enero 2012, 16:40 »

Veamos... a ver si me podéis echar un cablecillo...
Dada la siguiente tabla:


Necesito armar una consulta que me diga el requisito de cada uno de los cursos. El Número del requisito es el código de otro de los cursos que están en esa misma tabla. Ahora mismo tengo lo siguiente:
Código
SELECT NOMBRE, REQUISITO
FROM CURSO;
Y devuelve:
Cita de: 'Oracle'
NOMBRE   REQUISITO
NINGUNO   0
ESO   0
ESI   1
DAI   2
ASIR   2
BACHILLER   2
ADMINISTRACIÓN   1
FINANZAS   5
COMERCIO   1
MARKETING   7
CONSTRUCCIÓN   5
EDIFICACIÓN   5

¿Cómo hago para sacar el nombre del requisito en lugar del código?

Muchas gracias a todos.


« Última modificación: 7 Enero 2012, 17:31 por |Miguel| » En línea
Bulld0z3r


Desconectado Desconectado

Mensajes: 323


LARTeando


Ver Perfil
Re: ¿Cómo puedo seleccionar 2 veces el mismo campo por diferente criterio?
« Respuesta #1 en: 7 Enero 2012, 17:15 »

Buenas.

Dentro de la consulta, deberías agregar una segunda vez la tabla 'curso' con un alias. Así podrías seleccionar campos o montar condiciones, subconsultas..., como si se tratase de una tabla diferente.

La consulta podría quedarte así:
Código
SELECT curso.Nombre,curso_requisito.Nombre
FROM curso INNER JOIN curso AS curso_requisito ON curso.requisito = curso_requisito.codigo

En este ejemplo, la segunda referencia a la tabla 'curso' se hace con el alias 'curso_requisito'

Creo que esto es lo que andabas buscando.

Un saludo.


En línea
|Miguel|

Desconectado Desconectado

Mensajes: 182



Ver Perfil
Re: ¿Cómo puedo seleccionar 2 veces el mismo campo por diferente criterio?
« Respuesta #2 en: 7 Enero 2012, 17:20 »

Lo primero, gracias Bulld0z3r..
Código
SELECT curso.Nombre,curso_requisito.Nombre
FROM curso INNER JOIN curso AS curso_requisito ON curso.requisito = curso_requisito.codigo
Me da el error:
Cita de: Oracle
ORA-00905: falta una palabra clave

PD: antes se me olvidó mencionar que estoy usando ORACLE...


EDITO: Sabía que teóricamente era algo de combinación (join) y que necesitaba alias, gracias a tu sentencia Bulld0z3r he podido darle una vuelta y adaptarla a Oracle y los nombres exactos de mis tablas y campos... la consulta correcta es esta en mi caso:

Código
SELECT CU.NOMBRE, C.NOMBRE
FROM CURSO CU, CURSO C
WHERE CU.ID_CURSO=C.REQUISITO AND CU.NOMBRE!='NINGUNO';

PD: la segunda condición del WHERE es por los datos que hay en mi BBDD, no me interesa que en los resultados salga ese en concreto.

Muchas gracias compi, tema resuelto.
« Última modificación: 7 Enero 2012, 17:29 por |Miguel| » En línea
Bulld0z3r


Desconectado Desconectado

Mensajes: 323


LARTeando


Ver Perfil
Re: ¿Cómo puedo seleccionar 2 veces el mismo campo por diferente criterio?
« Respuesta #3 en: 7 Enero 2012, 17:28 »

Buenas de nuevo.

En Oracle parece ser que AS, sólo se utiliza para alias en campos. Para tablas no se usa, de modo que quita el AS (deja un espacio entre el nombre real de la tabla y el nombre que das al alias) y prueba.

Un saludo.
En línea
|Miguel|

Desconectado Desconectado

Mensajes: 182



Ver Perfil
Re: ¿Cómo puedo seleccionar 2 veces el mismo campo por diferente criterio?
« Respuesta #4 en: 7 Enero 2012, 17:30 »

Jeje nos hemos contestado a la vez.. es exactamente lo que dices.

Copio otra vez la consulta por si alguien la necesita que esté a mano... y gracias de nuevo.

Código
SELECT CU.NOMBRE, C.NOMBRE
FROM CURSO CU, CURSO C
WHERE CU.ID_CURSO=C.REQUISITO AND CU.NOMBRE!='NINGUNO';
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines