2008/10/16 Wagner Bonfiglio <[EMAIL PROTECTED]> > Olá William, > > o que eu quero é o seguinte... > Eu tenho várias trivias e várias pessoas... Todas as trivias tiveram pelo > menos 1 voto eu quis dizer, mas o que eu quero é que a VIEW me retorne uma > trivia que determinado usuário não votou... > No caso, caso eu consulte a VIEW sem um "WHERE idclien = XXXX" vai dar > errado, talvez retornando muitos resultados, mas a minha real intenção é > realmente buscar uma trívia que o usuário não tenha votado de modo > randomico... >
Aha... entendi. Uma primeira opção seria : *SELECT* t.rowid, t.created, t.updated, t.idcriador, t.pergunta, t.resp1, t.resp2, t.resp3, t.resp4, t.respcerta, t.linkfoto, t.idfilmescorr, t.atorescorr, t.status, u.rowid as idclien *FROM* rfc.trivias t, rfc.usuarios u *WHERE *(t.rowid,u.rowid) *NOT IN* ( *SELECT* idtrivia, idclien *FROM * rfc.triviavotos) > Consegui ser mais claro agora? Caso tenha alguma dúvida em aberto pode > falar... > > Valeu, > Wagner Bonfiglio > > 2008/10/16 William Leite Araújo <[EMAIL PROTECTED]> > > 2008/10/15 Wagner Bonfiglio <[EMAIL PROTECTED]> >> >>> (...)Acho que todas as trivias tiveram pelo menos um voto, então não tem >>> nenhuma trivia que satisfaça "tv.idtrivia IS NULL"... >>> >> >> Bom dia Wagner. >> >> Sua VIEW não contém dados... Você diz que quer "triviasnaovotadas" mas >> diz que TODAS tiveram votos!? >> Tem certeza que é isso que quer? Acho que ainda não conseguiu >> descrever o que deseja... >> >> >>> O que eu precisava era filtrar apenas as trivias que um determinado >>> usuário não votou.. >>> Acabei de fazer uma pequena mudança na consulta e ela funcionou: >>> SAIU> >>> FROM rfc.trivias t LEFT OUTER JOIN rfc.triviavotos tv >>> ENTROU> >>> FROM rfc.trivias t LEFT OUTER JOIN (select * from rfc.triviavotos where >>> idclien = 8382) tv >>> >>> Assim aconteceu o que eu falei, entraram apenas os votos que o usuário >>> 8382 deu.. Mas eu acho que não consigo colocar isso dentro de uma VIEW... >>> >>> Apenas para lembrar, eu preciso fazer uma consulta do estilo >>> SELECT * FROM rfc.v_triviasnaovotadas WHERE idclien = 8382 LIMIT 1; >>> E de preferência com ORDER BY random() dentro da VIEW também... >>> >> >> Use a consulta que o Oswaldo sugeriu sem o "WHERE"... >> >> Recomendo não colocar ORDER BY dentro da VIEW. Ponha na sua consulta, >> pois em algum momento alguém pode querer ordenar de outra forma os mesmos >> dados, e estará gastando mais tempo que o necessário. >> >> >>> >>> Alguma idéia? >>> Valeu, >>> Wagner Bonfiglio >>> >>> _______________________________________________ >>> pgbr-geral mailing list >>> pgbr-geral@listas.postgresql.org.br >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >>> >> >> >> -- >> William Leite Araújo >> Analista de Banco de Dados - QualiConsult >> >> _______________________________________________ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- William Leite Araújo Analista de Banco de Dados - QualiConsult
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral