Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Parece ser simples, mas estou com dificuldades em ordenar STRINGS. Segue o escopo do problema
Dados ordenados por ID:
Parafuso 15x15
Parafuso 100x100
Parafuso 110x110
Parafuso 11x11
Resultado esperado:
Parafuso 11x11
Parafuso 15x15
Parafuso 100x100
Parafuso 110x110
Resultado encontrado:
Parafuso 100x100
Parafuso 110x110
Parafuso 11x11
Parafuso 15x15
Eu nao testei esses valores, mas o resultado é semelhante ao que esta descrito acima o que me deixou pensando: Tem como resolver isso?
EU SEI QUE poderia criar campos tipo INT para resolver, mas nao me parece viavel, alguém tem alguma solucao para isto?
Thanks comrades.
o problema é que nem sempre sao parafusos, podem ser placas, etc...
Outrora vou utilizar este codigo para ver se encontro uma solucao
obrigado pela ajuda macielcr7
Se seguir o padrao que você colocou
nome dimesaoXdimensao
select convert(REPLACE(
SUBSTRING_INDEX(descricao, " ", -1)
, 'x', '0'), signed) as id, descricao
FROM teste order by id>
Se seguir o padrao que você colocou
nome dimesaoXdimensao
select convert(REPLACE(
SUBSTRING_INDEX(descricao, " ", -1)
, 'x', '0'), signed) as id, descricao
FROM teste order by id
Se for "Placa de Vídeo" baba.
Como é tabela, o dado "Parafuso 11X11" é montado ou é a própria descrição ?
>
Se for "Placa de Vídeo" baba.
Como é tabela, o dado "Parafuso 11X11" é montado ou é a própria descrição ?
o dado é uma string, é montado diretamente pelo usuario, nao haá campos separados para os tamanhos, o tamanho somente eé adicionado no final do nome do produto de forma literal, ou seja, o usuario informa o nome completo, o nome completo, o tamanho fica complicado colocar, alguns produtos podem ter tamanho outros nao, eu poderia criar 2 campos com os tamanhos, mas sera que eé viavel? eu tenho ainda outras coisas sober o produto como unidadeMedida, material, tipo, fabricante, conjunto, etc, nada me impede de criar 2 campos, o unico inconveniente eé alterar 2000 registros para o novo modelo...
Não vejo muita solução.
Deixa a ordenação como string mesmo ou cria uma coluna apenas para ordenar.
Bom eu fiz uma gambiarra aqui pra fazer o que você quer....
TABELA teste
campos parafuso
FROM teste order by id:thumbsup:
Tabela Teste Resultado...
id parafuso
11011 Parafuso 11x11
15015 Parafuso 15x15
1000100 Parafuso 100x100
1100110 Parafuso 110x110