Ir para conteúdo

Arquivado

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

JullySL

Group BY Access

Recommended Posts

Olá!

Tenho duas tabelas: fotos e imoveis

Na tabela fotos tenho as seguintes colunas: NROFOTO, REFERENCIA, ARQUIVO
Na tabela imoveis, as colunas: REFERENCIA entre outras....

 

Na tabela imóveis a referencia não se repete já na tabela Fotos a referencia se repete, pois quando o imóvel tem mais de uma foto ele duplica, multiplica a referencia de acordo cm a quantidade de fotos.
O que eu preciso agrupar o resultado de fotos para a referencia aparecer uma unica vez

Segue o select:

 

 

SELECT FOTOS.ARQUIVO, IMOVEIS.VENLOC, IMOVEIS.BAIRRO, IMOVEIS.VALORIMOVEL, IMOVEIS.REFERENCIA, IMOVEIS.OFERTA, IMOVEIS.CADASTRO,
       IMOVEIS.DORMITORIO, IMOVEIS.GARAGEM, IMOVEIS.WC
FROM (SELECT TOP 6 FOTOS.ARQUIVO, IMOVEIS.VENLOC, IMOVEIS.BAIRRO, IMOVEIS.VALORIMOVEL, IMOVEIS.REFERENCIA, IMOVEIS.OFERTA, IMOVEIS.CADASTRO,
                   IMOVEIS.DORMITORIO, IMOVEIS.GARAGEM, IMOVEIS.WC
      FROM IMOVEIS
        LEFT JOIN FOTOS ON IMOVEIS.REFERENCIA = FOTOS.REFERENCIA
     WHERE IMOVEIS.VENLOC = 'V'
     ORDER BY RND (INT (NOW *IMOVEIS.REFERENCIA)-NOW * IMOVEIS.REFERENCIA)) AS X
GROUP BY X.REFERENCIA, X.ARQUIVO, X.venloc, X.valorimovel, X.garagem, X.referencia, X.OFERTA, X.dormitorio, X.cadastro,
         X.bairro, X.WC
ORDER BY X.REFERENCIA

 


 

Espero ajuda :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta, obrigado por se interessar por meus tópico!

É um destaque de imóveis, quero sim mostrar uma foto por imóvel no destaque, mas quando eu clicar no imóvel aparecer as demais fotos.


Hoje o que está acontecendo, quando o imóvel tem mais de uma fota a referencia é duplicada no destaque mas cada referencia uma foto...(da referencia rs entendeu?)

Compartilhar este post


Link para o post
Compartilhar em outros sites

"maxima" foto referencia

select *
from foto
where nrofoto = (select max(nrofoto) 
                 from foto foto2
                 where foto2.referencia = foto.referencia)

use isto como tabela

 

 

select *
from imoveis,(select *
                 from foto
                 where nrofoto = (select max(nrofoto) 
                                  from foto foto2
                                  where foto2.referencia = foto.referencia)) foto_virtual
where imoveis.referencia = foto_virtual.referencia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde, Mota!

Muito agradecida me ajudou e muito!
Fiz alguns ajustes mais para mostrar as informações que preciso, segue código funcionando para quem tiver a mesma dúvida que eu:

select FOTOS.ARQUIVO, IMOVEIS.BAIRRO, IMOVEIS.VALORIMOVEL, IMOVEIS.REFERENCIA from imoveis,(select * from fotos where nrofoto = (select max(nrofoto) from fotos foto2 where foto2.referencia = fotos.referencia)) foto_virtual where imoveis.referencia = foto_virtual.referencia

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.