Tengo una tiene un pequeño problema con la consulta de varias tablas. (RDBMS: Acceso)SELECT de varias tablas con GROUP BY
Aquí está el esquema de la base de datos: (solo tablas S_Cards, Libros, Autores, Estudiantes se usan en esta consulta) S_Cards es la orden de libros del Estudiante (en la biblioteca).
Consulta: Seleccione el autor más popular (s) entre los estudiantes y el número de libros de este autor, que fueron ordenados en la biblioteca.
pesar de que puede obtener la lista de pedidos + autores de este tipo en una consulta:
SELECT
Students.FirstName & " " & Students.LastName AS [Student],
Books.Name AS [Book], Authors.FirstName & " " & Authors.LastName AS [Author]
FROM
Students,
Books,
S_Cards,
Authors
WHERE
S_Cards.ID_Student = Students.ID
AND S_Cards.ID_Book = Books.ID
AND Books.ID_Author = Authors.ID
ORDER BY Authors.LastName
Resultado (lo siento, es en ruso):
no puedo averiguar , ¿por qué no puedo contar y GROUP BY como esto:
SELECT
Students.FirstName & " " & Students.LastName AS [Student],
Books.Name AS [Book],
COUNT(Authors.FirstName & " " & Authors.LastName) AS [Number of books]
FROM Students, Books, S_Cards, Authors
WHERE
S_Cards.ID_Student = Students.ID
AND S_Cards.ID_Book = Books.ID
AND Books.ID_Author = Authors.ID
GROUP BY 3
consigo un error que 'Authors.FirstName & '' & Authors.LastName' no es una parte de la función estática o grupo.
Preguntas:
- ¿Hay una manera de hacer esta consulta sin JOIN, solamente por GROUP BY, SELECT, UNION y cómo?
- Cuál es el problema en mi segunda consulta?
Este _assumes_ que está utilizando SQL Server (parece que). Por favor siempre marque las preguntas con el RDBMS apropiado en el futuro. – Ben
Gracias por responder. Creo que COUNT (Books.ID) contaría la cantidad de veces que se ordenó algún libro. Necesito contar cuántas veces se ordenó algún libro del autor, no un libro en particular. RDBMS es Acceso. – Aremyst