Ir para conteúdo

Arquivado

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

felzzz

[Resolvido] criar um SELECT

Recommended Posts

Bom dia pessoal, tudo bem?

 

Bom, eu estou montando um site e não sei nada de SQL SERVER, só o basicão mesmo que aprendi fuçando, por isso gostaria que vocês me ajudassem em fazer uma query com as seguintes condições:

 

Tenho 3 tabelas, com as seguintes colunas:

 

UserInfos - UserID, nome de usuário, PictureAva e Privacy.

UserFollower - FollowerId, FollowingId, Status.

PlaceFollower - FollowerId, FollowingId, Date, Status.

 

Agora eu preciso de um SELECT que:

 

Caso o Privacy do usuário seja 0 ele não deverá ser retornado.

 

Caso o Privacy seja 1, preciso que retorne as linhas da tabela UserInfos que o UserInfos.UserID seja igual UserFollower.FollowingId onde o UserFollower.FollowerId = 2 e o UserFollower.Status = 1, somente se PlaceFollower.FollowerId seja igual UserFollower.FollowingId e PlaceFollower.FollowingId = 1 e PlaceFollower.Status = 1 e PlaceFollower.Date = '16/07/2011'.

 

Caso o Privacy seja 2, preciso que retorne as linhas da tabela UserInfos que o UserInfos.UserID seja igual UserFollower.FollowingId onde o UserFollower.FollowerId = 2 e o UserFollower.Status = 1, OU UserInfos.UserID seja igual UserFollower.FollowerId onde o UserFollower.FollowingId = 2 e o UserFollower.Status = 1, somente se PlaceFollower.FollowerId seja igual UserFollower.FollowingId e PlaceFollower.FollowingId = 1 e PlaceFollower.Status = 1 e PlaceFollower.Date = '16/07/2011'.

 

Acho que seria isso, é possível montar esse monte de condição em uma query? Não sei se ficou bagunçado demais para entender, pois não sei a maneira certa de perguntar esse tipo de coisa, espero que consigam me ajudar pois estou enroscado demais, pesquisei de monte e nada..

 

Um abraço a todos !

Compartilhar este post


Link para o post
Compartilhar em outros sites

na cláusula where é possível montar quantas condições forem necessárias, basicamente tudo vai depender da lógica AND e OR, segue artigo para estudo: http://www.devmedia.com.br/post-17291-SQL-Server-2005-Clausula-Where-e-seus-Operadores.html, com isso creio que conseguirá montar sua query

 

outra dica importante quanto a valores NULL: http://www.codelines.com/portugues0/sqlnull.htm

 

 

esse é mais básico: http://www.devmedia.com.br/post-9568-Clausula-Where.html, porém, se não estiver entendendo muito bem o exemplo acima o ideal é começar com ele

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw pela resposta eriva_br, eu perguntei em um fórum gringo e me mostraram um comando UNION ALL que funcionou certinho para o que eu estava tentando fazer...

 

Obrigado pelas dicas.

 

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

UNION, tb. temos: http://forum.imasters.com.br/topic/224851-operador-union-e-union-all/, aproveite e verifique a diferença entre union e union all

 

visite a nossa área de artigos/tutoriais: http://forum.imasters.com.br/forum/186-artigos-tutoriais-e-materias-sql-server/

 

abs

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.