Jump to content


Photo

Por Favor - Dúvida Simples E Rápida Com Uma Syntax


  • Faça o login para participar
5 replies to this topic

#1 Unrealed

Unrealed

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 18/05/2005, 17:27

Olá a todos...

Por favor, gostaria de saber, se possível, como ordenar a seleção de dados usando duas fontes, por exemplo:

Existem 5 colunas:
A, B, C, D e E.

seus valores são:

Nome - Valor1 - Valor2
A 5 200
B 4 700
C 4 800
D 2 900
E 0 100

A ordem seria: valor1, valor2

Exemplo:

A coluna A, possui Valor1 5;
A coluna B, possui valor1 4;

Ou seja, A vem primeiro.

A coluna B, possui valor1 4;
A coluna C, possui valor1 4;

Ou seja, sao iguais, e agora, a ordem será padrão?
R: Não, eu gostaria que então fosse para o segundo estágio:

A coluna B, possui valor2 700;
A coluna C, possui valor2 800;

Logo C > B

Então até a agora a ordem seria:
A, C, B, D, E

Eu tentei usar , mas não funcionou:
"SELECT * FROM Character where cLevel <= 1200 order by Resets, cLevel desc"

OBS: Ignore o "WHERE"

Sendo que:
Characters = Table
cLevel = nosso valor2
Resets = nosso valor1

por incrível que pareça, ele colocou os que possuiam Valor2 maior sobre os que possuiam valor2 menor, contudo, ele ao invés de colocar os que possuia o Valor1 em cima, inverteu, ficando:

E, D, C, B, A

Repare que ele soube organizar os valores2 em grupos, contudo, estes grupos se mistuaram inversamente.

Se alguém puder me dizer como, eu serei grato, e se possível, posso estar ajudando em C++, sou programador em C++.

Obrigado

#2 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 18/05/2005, 17:37

Na tabela, qual o tipo do campo??
Se for texto ou varchar, a ordenação não será feita adequadamente.
------
Mero mortal!

#3 Unrealed

Unrealed

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 18/05/2005, 19:05

Name ( A, B, C, D, E ) = nvarchar
Valor1 = int
Valor2 = int

Talvez seja isto... Obrigado

#4 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 18/05/2005, 22:13

Cara deixa eu me intrometer e tentar ajudá-lo.

Se foi retornado E, D, C, B, A é porque você colocou na instrução SQL DESC, de decrescente, sendo assim, o que está errado?
Eduardo Batista

#5 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 18/05/2005, 22:30

O DESC do SQL só afeta o último campo especificado. Se você quer os dois fiquem em ordem descrescente, é preciso usar DESC nos dois campos:

SELECT * FROM Character WHERE cLevel <= 1200 ORDER BY Resets DESC, cLevel DESC


#6 Unrealed

Unrealed

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 18/05/2005, 22:42

Ah, muito obrigado LeoB, muito obrigado a todos, acredito que com isto os usuários estarão mais satisfeitos no ranking.asp.

Obrigado, se eu puder ajudar de alguma maneira, apesar de não ser este o objetivo do forum ( C++ ) to ai.

obrigado + uma vez.

Unrealed




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq