Tengo la siguientes tablas:
Tabla DISCOTECA
Código:
Tabla ALBUMcreate 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) );
Código:
Y de su relacion mucho a muchos genero la tablacreate 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) );
ALBUMES_DE_DISCOTECA
Código:
La consulta que quiero realizar es:create table ALBUMES_DE_DISCOTECA ( NIT_DISCO char(6) not null, COD_ALB char(5) not null, primary key (NIT_DISCO, COD_ALB) );
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:
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: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
Cita:
Es decir especificar el codigo de la discoteca en la consulta o el nombreSELECT 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"
lo hice asi pero me genera error
si se puede hacer esta consulta??