Já que pediu, vou mandar a estrutura do banco que estou usando;
[code]//Criando tabela TBCliente
create table TBCliente
(
IDCliente integer not null AUTO_INCREMENT,
Nome varchar (50) not null,
Logradouro varchar (200) not null,
Bairro varchar (50) not null,
DataNasc date not null,
DataRegistro date not null,
Constraint PKIDCliente primary key (IDCliente)
) ENGINE=InnoDB;
//Crianto tabela TBFilme
create table TBFilme
(
IDFilme integer not null AUTO_INCREMENT,
Nome varchar (50) not null,
Descricao varchar(200) not null,
Genero varchar (50) not null,
Diretor varchar (50) not null,
AtoresPrincipais varchar (200) not null,
AnoLancamento integer not null,
Locado varchar (3) not null,
Constraint PKIDFilme primary key (IDFilme)
) ENGINE=InnoDB;
//Criando tabela TBFuncionario
create table TBFuncionario
(
IDFuncionario integer not null AUTO_INCREMENT,
Nome varchar (50) not null,
Logradouro varchar (200) not null,
Bairro varchar (50) not null,
DataNasc date not null,
DataContratacao date not null,
Constraint PKIDFuncrionario primary key (IDFuncionario)
) ENGINE=InnoDB;
//Criando tabela TBLocacao
create table TBLocacao
(
IDLocacao integer not null AUTO_INCREMENT,
CodCliente integer not null,
CodFuncionario integer not null,
DataLoca date not null,
DataDevo date not null,
Constraint PKIDLocacao primary key (IDLocacao),
Constraint FKCodCliente foreign key (CodCliente)
References TBCliente (IDCliente)
on delete no action
on update cascade,
Constraint FKCodFuncionario foreign key (CodFuncionario)
References TBFuncionario (IDFuncionario)
on delete no action
on update cascade
) ENGINE=InnoDB;
//Criando tabela TBFilmeLoca
create table TBFilmeloca
(
IDFilmeLoca integer not null AUTO_INCREMENT,
CodFilme integer not null,
CodLocacao integer not null,
Constraint FKCodFilme foreign key (CodFilme)
References TBFilme (IDFilme)
on delete no action
on update cascade,
Constraint FKCodLocacao foreign key (CodLocacao)
References TBLocacao (IDLocacao)
on delete no action
on update cascade,
Constraint PKIDFilmeLoca primary key (IDFilmeLoca)
) ENGINE=InnoDB;[/code]
Na tabelta TBFilmeLoca, onde está o código do filme, eu queria mostrar quais os filmes mais locados em um intervalo de tempo
SELECT f.CodFilme, x.Nome
FROM TBFilmeloca as f
inner join TBFilme as x on f.CodFilme = x.IDFilme
inner join TBLocacao as l on f.CodLocacao = l.IDLocacao
WHERE month(l.DataLoca) = month('2010-07-20')
having COUNT(f.CodFilme)>= 2; // essa linha eu adicionei apenas para teste, tentando selecionario os filme com mais de 1 locação, mas mesmo assim não deu certo :S
Obrigado pela resposta, e desculpa pelo tamanho do código