::Porto 0 Denunciar post Postado Dezembro 8, 2006 Pessoal, como fazer com que o SELECT abaixo forneça resultados respeitando a "seqüência" dentro da cláusula IN? SELECT * FROM tabela WHERE campoid IN ('8','3','4')Quando monto a consulta ele me fornece ordenado do menor ID para o maior.. que no exemplo acima forneceria ('3', '4','8'). Fiz alguns testes utilizando o ORDER BY mas não obtive êxito. Alguém poderia ajudar? Agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Dezembro 8, 2006 ORDER BY campoid Se este campo for string e você quiser ordenar pelos números, terá de converter, daí tente isso:: ORDER BY cast(campoid as signed) Compartilhar este post Link para o post Compartilhar em outros sites
::Porto 0 Denunciar post Postado Dezembro 8, 2006 Infelizmente testei com as duas sugestões e o retorno tá sendo o mesmo quando não utilizo nenhum ORDER BY... ou seja.. a seleção não leva em consideração a sequencia do clausula IN ('8','3','4').... e sempre ordena ('3','4','8') crescente. :( Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Dezembro 9, 2006 Potz, agora que entendi sua dúvida, às vezes eu leio uma coisa e entendo outra ! rsrsrsVou tentar pesquisar, mas acho que vai ser difícil. Compartilhar este post Link para o post Compartilhar em outros sites
::Porto 0 Denunciar post Postado Dezembro 11, 2006 Não tem problema, pode ser que tenha complicado na explicação... rsss. Bom, fiquei surpreso porque achei que seria algo simples e talvez tenha percorrido um caminho mais difícil para a solução de um problema de classificação e contagem entre campos de tabelas... que resultou nesta sequência ordenada para inclusão no IN () do SELECT. Agradeço a sua colaboração. Um abraço. Compartilhar este post Link para o post Compartilhar em outros sites