Ir para conteúdo

POWERED BY:

Arquivado

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

kel cappra

sql pra listar itens por imagem

Recommended Posts

eae gente...seguinte... to trabalhando no site de uma imobiliária e tem um menu principal... nesse menu principal tu escolhe se quer ver casas, apartamentos, terrenos, etc... escolhendo uma categoria ele te lança pra outra página, onde abre uma lista com os imóveis cadastrados naquela categoria.nesta lista de imóveis eu uso duas tabelas... uma pros dados dos imóveis e outra pras imagens do imóvel, pois é possível cadastradas quantas imagens quizer nos imóveis. nessa tabela de imagens dos imóveis ele cadastra o id do imóvel (que é buscado lá na tabela de imóveis), o caminho da imagem e o nome dela.até aí tudo bem, tá funcionando muito bem... só que pra ficar "visualmente mais bonitinho" eu quero listar primeiro os imóveis que tem imagens cadastradas no banco de imagens, e depois as que não tem imagens cadastradas no banco de imagens.alguém tem alguma solução pra me dar?valew ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

não resolve nãoporque a tabela de imóvel não tem vínculo com a de imagens... e sim a tabela de imagens tem com a de imóveisou seja, eu até posso dar um order by na tabela de imagens... mas vai dar na mesma q se eu não der, pois os registros sem imagens não constam na tabela de imagens

"ORDER BY" não resolve não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Princesa,

 

Segue um exemplo para o SQL Server:

DECLARE @IMOVEL TABLE (ID_IMOVEL INT)INSERT INTO @IMOVEL (ID_IMOVEL) VALUES (1)INSERT INTO @IMOVEL (ID_IMOVEL) VALUES (2)INSERT INTO @IMOVEL (ID_IMOVEL) VALUES (3)INSERT INTO @IMOVEL (ID_IMOVEL) VALUES (4)INSERT INTO @IMOVEL (ID_IMOVEL) VALUES (5)DECLARE @IMOVEL_IMAGEM TABLE (ID_IMAGEM INT,ID_IMOVEL INT)INSERT INTO @IMOVEL_IMAGEM (ID_IMAGEM,ID_IMOVEL) VALUES (1,4)INSERT INTO @IMOVEL_IMAGEM (ID_IMAGEM,ID_IMOVEL) VALUES (2,3)INSERT INTO @IMOVEL_IMAGEM (ID_IMAGEM,ID_IMOVEL) VALUES (3,5)INSERT INTO @IMOVEL_IMAGEM (ID_IMAGEM,ID_IMOVEL) VALUES (4,3)INSERT INTO @IMOVEL_IMAGEM (ID_IMAGEM,ID_IMOVEL) VALUES (5,5)INSERT INTO @IMOVEL_IMAGEM (ID_IMAGEM,ID_IMOVEL) VALUES (6,5)SELECT T1.ID_IMOVEL,T2.ID_IMAGEMFROM 		@IMOVEL T1			FULL JOIN @IMOVEL_IMAGEM T2			ON T1.ID_IMOVEL = T2.ID_IMOVELORDER BY CASE				WHEN T1.ID_IMOVEL IS NULL THEN 1				ELSE 0		 END

Com você não disse qual o banco de dados que esta utilizando postei um exemplo pro SQL Server qq dúvida post ai que ajudaremso.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Princesa,

 

Pois é para o Access são necessários ajustes! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Tente algo assim:

ORDER BY iif(T1.ID_IMOVEL = "",1,0)

Acho que com isto você vai dar um volta no Access.

 

Faça o teste e na dúvida é só se manifestar.

 

t+

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.