Buenas a todos
Tengo la siguientes tablas:
Tabla DISCOTECA
Código:
create table DISCOTECA
(
NIT_DISCO char(6) not null,
NOM_DISCO varchar(60),
DIR_DISCO varchar(60),
CAP_DISCO int,
VAL_ENT_DISCO float(6),
primary key (NIT_DISCO)
);
Tabla ALBUM
Código:
create table ALBUM
(
COD_ALB char(5) not null,
NOM_ALB char(40),
FEC_ALB date,
NUM_CAN_ALB int,
VAL_ALB float(10),
primary key (COD_ALB)
);
Y de su relacion mucho a muchos genero la tabla
ALBUMES_DE_DISCOTECA
Código:
create table ALBUMES_DE_DISCOTECA
(
NIT_DISCO char(6) not null,
COD_ALB char(5) not null,
primary key (NIT_DISCO, COD_ALB)
);
La consulta que quiero realizar es:
Mostrar el numero de albumes de una discoteca especifica, mostrando el nombre de la discoteca, su numero de albumes y el nombre de dichos albumes
Yo realice una consulta con el siguiente codigo:
Cita: SELECT d.nom_disco "DISCOTECA", count(ad.cod_alb) "NUMERO DE ALBUMES", group_concat(a.nom_alb separator " - ") "NOMBRE ALBUMES" FROM (discoteca d INNER JOIN albumes_de_discoteca ad USING (nit_disco)) INNER JOIN album a USING (cod_alb) GROUP BY ad.nit_disco ORDER BY count(ad.cod_alb) desc limit 1
Con esta consulta me muestra la discoteca con el mayor numero de albumes y sus respectivos nombres, mi duda es: si yo quiero especificar una discoteca en particular puedo colocar un where diciendo por ejemplo:
Cita: SELECT d.nom_disco "DISCOTECA", count(ad.cod_alb) "NUMERO DE ALBUMES", group_concat(a.nom_alb separator " - ") "NOMBRE ALBUMES" FROM (discoteca d INNER JOIN albumes_de_discoteca ad USING (nit_disco)) INNER JOIN album a USING (cod_alb) GROUP BY ad.nit_disco WHERE d.nom_disco= "La Zona"
Es decir especificar el codigo de la discoteca en la consulta o el nombre
lo hice asi pero me genera error
si se puede hacer esta consulta??