Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Contar registos

Estas en el tema de Contar registos en el foro de SQL Server en Foros del Web. tengo 3 tablas: Cursos, Asignaturas, Contenidos TABLA Cursos ID NombreCurso 1 2ªA 2 2ªB ...................................... TABLA Asignaturas ID NombreAsig IDCurso 1 Matem 1 2 Lengua ...
  #1 (permalink)  
Antiguo 06/11/2006, 05:01
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Contar registos

tengo 3 tablas: Cursos, Asignaturas, Contenidos

TABLA Cursos
ID NombreCurso
1 2ªA
2 2ªB
......................................

TABLA Asignaturas
ID NombreAsig IDCurso
1 Matem 1
2 Lengua 1
3 Filosofia 2
......................................

TABLA CONTENIDOS
ID Contenido IDAsignatura
1 Integrales 1
2 Derivadas 1
3 La ortografia 2
4 Aristoteles 3
......................................


Como se pueden listar el nº de contenidos por curso
EJEMPLO:
Curso: 2ªA NºContenidos:3
Curso: 2ªB NºContenidos:1

LLevo intentandolo ni se sabe el tiempo. Cualquier ayuda se agradecería.
  #2 (permalink)  
Antiguo 06/11/2006, 15:04
 
Fecha de Ingreso: octubre-2006
Mensajes: 36
Antigüedad: 17 años, 6 meses
Puntos: 0
Creo que la solución es esta:

SELECT C.IdCurso, MAX(C.NombreCurso) as NombreCurso, COUNT('OK') as [Nº Contenidos]
FROM Cursos C INNER JOIN Asignaturas A ON C.IdCurso = A.IdCurso
INNER JOIN Contenidos CON ON A.IdAsignatura = CON.IdAsignatura
GROUP BY C.IdCurso

Siempre puedes quitarle el Id y concatenar las cadenas ('Curso: ' y 'Nº Contenidos:'), si quieres que te salga exactamente igual

Espero que te sirva.
  #3 (permalink)  
Antiguo 07/11/2006, 05:24
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Greñas eres un monstruo del SQL. Muchas gracias. Aunque me cabe cabe una duda. ¿Por qué pones COUNT('OK') as [Nº Contenidos]?

Que significa el ¿'OK'?
  #4 (permalink)  
Antiguo 07/11/2006, 05:47
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Eso quisiera saber yo, ¿COUNT('OK')? Solo basta con COUNT (*)

Saludos :)
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #5 (permalink)  
Antiguo 08/11/2006, 04:04
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Otra cosa más por favor.

Y si tambien hubiese una cuarta tabla de RECURSOS con los campos ID+RECURSO+IDAsignatura como incluirías para obtener, pàrte del nº de contenidos, el nº de recursos por curso:

Curso: 2ªA NºContenidos:3 Nº Recursos:5
Curso: 2ªB NºContenidos:1 Nº Recursos:2

Gracias de antemano..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:56.