duvida a definir query
bom dia!
tenho a seguinte base de dados referente a uma locadora de video
agora estou a tentar definir uma query que vai seleccionar a multa maxima e vai dar o respectivo cod_filme.
esta query n me dá o k quero. será me podem ajudar...
obrigado
tenho a seguinte base de dados referente a uma locadora de video
DROP DATABASE IF EXISTS fichaF; CREATE DATABASE fichaF; USE fichaF; CREATE TABLE socios ( n_socio INTEGER(5) NOT NULL, nome CHAR(30) NOT NULL, morada VARCHAR(30), telefone INTEGER (9), bi INTEGER (9), data_nasc DATE, data_insc DATE NOT NULL, CONSTRAINT ch_candidata_socios UNIQUE (nome,bi), CONSTRAINT ch_prim_n_socio PRIMARY KEY (n_socio) ); CREATE TABLE filmes ( cod_filme INTEGER(5) NOT NULL, titulo CHAR(30) NOT NULL, duracao TIME, CONSTRAINT ch_candidata_filmes UNIQUE (titulo), CONSTRAINT ch_prim_cod_filme PRIMARY KEY (cod_filme) ); CREATE TABLE modalidades ( modalidade CHAR(10) NOT NULL, preco DECIMAL(5,2) NOT NULL, multa_diaria DECIMAL(5,2) NOT NULL, CHECK (preco >=0), CHECK (multa_diaria >=0), CONSTRAINT ch_prim_modalidade PRIMARY KEY (modalidade) ); CREATE TABLE copias ( cod_filme INTEGER(5) NOT NULL, n_copia INTEGER(5) NOT NULL, formato CHAR(3)NOT NULL, data_aquisicao DATE, preco DECIMAL(5,2) NOT NULL, CHECK (formato= ´VHS´ AND formato=´DVD´), CHECK (preco>=0), CONSTRAINT ch_prim_cod_filme_e_n_copia PRIMARY KEY (cod_filme,n_copia) ); CREATE TABLE alugueres ( n_aluguer INTEGER(5) NOT NULL, n_socio INTEGER(5) NOT NULL, cod_filme INTEGER(5) NOT NULL, n_copia INTEGER(5) NOT NULL, modalidade CHAR(10) NOT NULL, data_aluguer DATE, data_entrega DATE, preco DECIMAL(5,2) NOT NULL, multa DECIMAL (5,2), CHECK (multa >=0 OR NULL), CHECK (preco >=0), CONSTRAINT ch_prim_n_aluguer PRIMARY KEY (n_aluguer), CONSTRAINT ch_estr_n_socio FOREIGN KEY (n_socio) REFERENCES socios (n_socio) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT ch_estr_cod_filme FOREIGN KEY (cod_filme,n_copia) REFERENCES copias (cod_filme,n_copia) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT ch_estr_modalidade FOREIGN KEY (modalidade) REFERENCES modalidades (modalidade) ON UPDATE CASCADE ON DELETE CASCADE );
agora estou a tentar definir uma query que vai seleccionar a multa maxima e vai dar o respectivo cod_filme.
select multa,cod_filme from alugueres group by cod_filme having max(multa);
esta query n me dá o k quero. será me podem ajudar...
obrigado
Mimp
Curtidas 0