SQL - Consulta endiablada

 
Vista:

Consulta endiablada

Publicado por David Prunera (1 intervención) el 12/08/2009 10:47:57
Hola team!, soy nuevo y ante todo quiero agradeceros el site de gran ayuda que entre todos estais haciendo !

¿Alguien puede ayudarme con esta endiablada consulta? Hace más de 1 hora que lo intento y no lo consigo.

Tengo dos tablas:

Tabla ALUMNOS con un solo campo llamado [nombre]
reg1: jose
reg2: carlos
reg3: sandra
reg4: luis

TABLA CURSOS con dos campos: [nombre] y [curso] y estos datos:
reg1: jose, guitarra
reg2: jose, cocina
reg3: carlos, guitarra
reg4: luis, cocina

Quiero hacer algo tan "sencillo" como una consulta que saque un listado de TODOS los alumnos y que a la derecha de cada uno que salga un 1 si tiene el curso de guitarra o un 0 si no lo tiene.

Parece sencillo pero me trae de cabeza!. Lo que he hecho es una consulta de agrupación de alumnos por un lado (group de todos los nombres de la tabla alumnos) y a la derecha de cada uno que cuenta las veces que en la tabla cursos
ese alumno sale apuntado al de guitarra (un count de curso donde curso=guitarra) pero nada, ya que esa ultima condicion me destroza la seleccion previa de todos los alumnos.

GRACIAS POR ANTICIPADO !!
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

RE:Consulta endiablada

Publicado por asdfg (21 intervenciones) el 12/08/2009 18:14:08
Prueba con la sentencia decode (es como un if).

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
Imágen de perfil de roger

RE:Consulta endiablada

Publicado por roger (93 intervenciones) el 12/08/2009 18:23:43
si es con sql server

select nombre,
case when exists(select curso from cursos
where cursos.nombre = alumnos.nombre and cursos.curso = 'Guitarra')
then 1 ELSE 0 END as estaEnGuitarra
from alumnos
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

RE:Consulta endiablada

Publicado por Antonio (17 intervenciones) el 28/08/2009 11:43:42
select nombre, iif(curso='guitarra',1,0) from tabla_cursos
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

RE:Consulta endiablada

Publicado por david (1 intervención) el 28/08/2009 12:00:04
Ya lo solucioné con algo parecido, pero 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