Ir para conteúdo

Arquivado

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

SerraVentura

1:n

Recommended Posts

É O SEGUINTE...

 

TENHO UMA TABELA CHAMADA EVENTOS E OUTRA TABELA CHAMADA FOTOS, UM EVENTO PODE TER N FOTOS E PARA ISSO EU INSIRO O ID DO MEU EVENTO NA TABELA FOTOS, ONDE IDENTIFICO DE QUE EVENTO CADA FOTO É... ENATUM TENHO O SEGUINTE PROBLEMA...

 

PRECISO NUMA PAGINA EXIBIR OS EVENTOS ASSIM...

 

 

Local:

[FOTO] Evento:

Data:

(entaum quando clicasse na foto do evento apareceria tds as fotos do evento clicado)

 

 

ENTAUM FIZ UM SELECT USANDO O JOIN ENTRE AS DUAS TABELAS ASSIM:

 

SELECT distinct(f.id_evento), e.id AS id, e.evento AS evento, e.fotografo AS local, e.data AS data, f.foto_peq AS legenda, f.foto_gr AS foto FROM Eventos e INNER JOIN Fotos f ON e.id = f.id_evento

SÓ Q O PROBLEMA É Q NA CONSULTA É SELECIONADO TODOS OS EVENTOS E TODAS AS FOTOS ENTAUM APARECE VÁRIOS EVENTOS REPETIDOS COM FOTOS DIFERENTES...O Q EU QUERO É Q APAREÇA UM EVENTO DE CADA COM A PRIMEIRA FOTO Q VIER DO SELECT...

 

ENTAUM TENTEI USAR O DISTINCT, POREM NAUM ESTA FUNCIONANDO, NAUM SEI SE ESTOU USANDO DE MANEIRA CORRETA....

 

ALGUEM SABERIA UMA SOLUÇÃO PRA ISSO?

 

VLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É O SEGUINTE...

 

TENHO UMA TABELA CHAMADA EVENTOS E OUTRA TABELA CHAMADA FOTOS, UM EVENTO PODE TER N FOTOS E PARA ISSO EU INSIRO O ID DO MEU EVENTO NA TABELA FOTOS, ONDE IDENTIFICO DE QUE EVENTO CADA FOTO É... ENATUM TENHO O SEGUINTE PROBLEMA...

 

PRECISO NUMA PAGINA EXIBIR OS EVENTOS ASSIM...

 

 

Local:

[FOTO] Evento:

Data:

(entaum quando clicasse na foto do evento apareceria tds as fotos do evento clicado)

 

 

ENTAUM FIZ UM SELECT USANDO O JOIN ENTRE AS DUAS TABELAS ASSIM:

 

SELECT distinct(f.id_evento), e.id AS id, e.evento AS evento, e.fotografo AS local, e.data AS data, f.foto_peq AS legenda, f.foto_gr AS foto FROM Eventos e INNER JOIN Fotos f ON e.id = f.id_evento

SÓ Q O PROBLEMA É Q NA CONSULTA É SELECIONADO TODOS OS EVENTOS E TODAS AS FOTOS ENTAUM APARECE VÁRIOS EVENTOS REPETIDOS COM FOTOS DIFERENTES...O Q EU QUERO É Q APAREÇA UM EVENTO DE CADA COM A PRIMEIRA FOTO Q VIER DO SELECT...

 

ENTAUM TENTEI USAR O DISTINCT, POREM NAUM ESTA FUNCIONANDO, NAUM SEI SE ESTOU USANDO DE MANEIRA CORRETA....

 

ALGUEM SABERIA UMA SOLUÇÃO PRA ISSO?

 

VLW!

 

**********************

 

O modelo de dados abaixo retira o esforço de programação, evita o split das paginasa de dados,

uma vez que estamos lidando com campo para armazenar imagem e não iremos misturar imagem

de tamanhos diferentes em uma mesma tabela, podendo ter um padrão para o preenchimento das

paginas de dados.

 

 

A) Tabela Evento: B) Tabela Foto_Legenda: C) Tabela Foto

 

idEvento (PK) idFotoLegenda (PK) idFoto (PK)

-------------- idEvento (FK) idFotoLegenda (FK)

evento -------------------- idEvento (FK)

fotografo Foto_Peq --------------------

data Foto_Gr

 

B) Obter Evento e Foto Legenda:

 

select e.Evento as Evento,

e.Fotografo as Local,

e.Data as Data,

fl.foto_peq as Legenda,

e.idEvendo (Este você não mostra, vai ser o parametro para a query B.

 

from Evento e

inner join Foto_Legenda fl

on e.idEvento = fl.idEvento

 

C) Obtendo as Fotos do Evento escolhido acima

 

select f.foto_gr

 

from Foto_Legenda fl

inner join Foto f

on fl.idFotoLegenda = f.idFotoLegenda and fl.idEvento = f.idEvento

 

where f.idEvento = (Parametro do Evento clicado da Foto)

 

 

Veja se funciona como você quer.

 

Qalquer duvida segue o meu e-mail:

 

luzserg@globo.com

 

Sds,

 

Antonio Sergio

 

 

 

 

 

 

 

http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

 

É O SEGUINTE...

 

TENHO UMA TABELA CHAMADA EVENTOS E OUTRA TABELA CHAMADA FOTOS, UM EVENTO PODE TER N FOTOS E PARA ISSO EU INSIRO O ID DO MEU EVENTO NA TABELA FOTOS, ONDE IDENTIFICO DE QUE EVENTO CADA FOTO É... ENATUM TENHO O SEGUINTE PROBLEMA...

 

PRECISO NUMA PAGINA EXIBIR OS EVENTOS ASSIM...

 

 

Local:

[FOTO] Evento:

Data:

(entaum quando clicasse na foto do evento apareceria tds as fotos do evento clicado)

 

 

ENTAUM FIZ UM SELECT USANDO O JOIN ENTRE AS DUAS TABELAS ASSIM:

 

SELECT distinct(f.id_evento), e.id AS id, e.evento AS evento, e.fotografo AS local, e.data AS data, f.foto_peq AS legenda, f.foto_gr AS foto FROM Eventos e INNER JOIN Fotos f ON e.id = f.id_evento

SÓ Q O PROBLEMA É Q NA CONSULTA É SELECIONADO TODOS OS EVENTOS E TODAS AS FOTOS ENTAUM APARECE VÁRIOS EVENTOS REPETIDOS COM FOTOS DIFERENTES...O Q EU QUERO É Q APAREÇA UM EVENTO DE CADA COM A PRIMEIRA FOTO Q VIER DO SELECT...

 

ENTAUM TENTEI USAR O DISTINCT, POREM NAUM ESTA FUNCIONANDO, NAUM SEI SE ESTOU USANDO DE MANEIRA CORRETA....

 

ALGUEM SABERIA UMA SOLUÇÃO PRA ISSO?

 

VLW!

 

**********************

 

Camarada

 

O modelo de dados abaixo retira o esforço de programação, evita o split das paginasa de dados,

uma vez que estamos lidando com campo para armazenar imagem e não iremos misturar imagem

de tamanhos diferentes em uma mesma tabela, podendo ter um padrão para o preenchimento das

paginas de dados.

 

 

A) Tabela Evento:

 

idEvento (PK)

--------------

evento

fotografo

data

 

 

B) Tabela Foto_Legenda:

 

idFotoLegenda (PK)

idEvento (FK)

--------------------

Foto_Peq

 

 

C) Tabela Foto

 

idFoto (PK)

idFotoLegenda (FK)

idEvento (FK)

--------------------

Foto_Gr

 

 

 

B) Obter Evento e Foto Legenda:

 

select e.Evento as Evento,

e.Fotografo as Local,

e.Data as Data,

fl.foto_peq as Legenda,

e.idEvendo (Este você não mostra, vai ser o parametro para a query B)

 

from Evento e

inner join Foto_Legenda fl

on e.idEvento = fl.idEvento

 

C) Obtendo as Fotos do Evento escolhido acima

 

select f.foto_gr

 

from Foto_Legenda fl

inner join Foto f

on fl.idFotoLegenda = f.idFotoLegenda and fl.idEvento = f.idEvento

 

where f.idEvento = (Parametro do Evento clicado da Foto)

 

 

Veja se funciona como você quer.

 

Qalquer duvida segue o meu e-mail:

 

luzserg@globo.com

 

Sds,

 

Antonio Sergio

 

 

 

 

 

 

 

http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá faltando você dizer qual é o evento da foto no sql quando você clica na fotoSELECT distinct(f.id_evento), e.id AS id, e.evento AS evento, e.fotografo AS local, e.data AS data, f.foto_peq AS legenda, f.foto_gr AS foto FROM Eventos e INNER JOIN Fotos f ON e.id = f.id_evento where f.id_evento = eventoNo caso, evento vai ser uma variável que vai trazer a id_evento da foto clicada

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow..fala ae galera.... desculpe pela demora na resposta é pq fiquei ruim...fiquei de cama...Entaum.. quanto a resposta... pow naum sei se eu entendi direito...mas tipo eu só tenho 2 tabelas a EVENTOS e FOTOS, naum existe uma tabela de legenda... e eu naum armazeno as imagens no banco apenas as referencias das imagens...naum entendi muito bem a explicação...vlw...

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.