Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardo_vetor

Select duplicado

Recommended Posts

Beleza galerinha !!!

 

Ee tenho um query aqui que gostaria de dar uma refinada nela.

 

O caso é o seguinte:

Tenho uma tabela de trailer, e a filmes que tem mais de um trailer.

Quero pegar somente um trailer de cada filme.

 

A query é essa aqui

SELECT tabfilmes.titulo, tabfilmes.site, tabfilmes.img, tabfilmes.genero, tabtrailler.* FROM 
(tabtrailler INNER JOIN tabfilmes ON tabtrailler.idFilme = tabfilmes.idFilme) 
ORDER BY tabtrailler.id DESC

tentei usar um distinct no select mais não certo.

 

Aguardo por uma luz dos companheiros

Ricardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT

tabfilmes.titulo, tabfilmes.site, tabfilmes.img, tabfilmes.genero,

trailler.*

from tabfilmes,

(

Select idfilme , FUNÇOES_DE_AGRUPAMENTO(XXXX) as abc

from tabtrailler

group by idfilme

) as trailler

where

trailler.idfilme = tabfilmes.idfilme

 

 

 

FUNÇOES_DE_AGRUPAMENTO(XXXX) -> Aqui vai depender do q você quer q ele pegue, soh vendo as tabelas preu poder te ajudar mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Giesta as tabelas são as seguintes:

CODE
CREATE TABLE `tabtrailler` (

`id` int(11) NOT NULL auto_increment,

`idFilme` int(11) NOT NULL,

`tipo` varchar(15) collate latin1_general_ci NOT NULL,

`link` varchar(400) collate latin1_general_ci NOT NULL,

`tempo` char(5) collate latin1_general_ci NOT NULL default '00:00',

`comentario` varchar(115) collate latin1_general_ci NOT NULL,

`destaque` char(1) collate latin1_general_ci NOT NULL default '0',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=181 ;

 

CREATE TABLE `tabfilmes` (

`idFilme` int(11) NOT NULL auto_increment,

`idExi` int(11) NOT NULL,

`titulo` varchar(100) collate latin1_general_ci NOT NULL,

`toriginal` varchar(100) collate latin1_general_ci NOT NULL,

`genero` varchar(150) collate latin1_general_ci NOT NULL,

`ano` char(4) collate latin1_general_ci NOT NULL,

`pais` varchar(50) collate latin1_general_ci NOT NULL,

`distribuidor` varchar(60) collate latin1_general_ci NOT NULL,

`duracao` varchar(10) collate latin1_general_ci NOT NULL,

`idioma` varchar(20) collate latin1_general_ci NOT NULL,

`cor` varchar(10) collate latin1_general_ci NOT NULL,

`direcao` varchar(40) collate latin1_general_ci NOT NULL,

`elenco` varchar(200) collate latin1_general_ci NOT NULL,

`classificacao` varchar(10) collate latin1_general_ci NOT NULL,

`site` varchar(60) collate latin1_general_ci NOT NULL,

`dataLanc` date NOT NULL,

`sinopse` text collate latin1_general_ci NOT NULL,

`ativo` char(1) collate latin1_general_ci default NULL,

`idUser` int(3) NOT NULL,

`tipo` varchar(20) collate latin1_general_ci NOT NULL,

`img` varchar(60) collate latin1_general_ci default NULL,

PRIMARY KEY (`idFilme`),

KEY `idExi` (`idExi`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=166 ;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.