ORDENA?ÃO NO SQL SERVER

JCM0867 10/11/2014 20:57:10
#442399
Olá pessoal,
Vamos ver se vocês matam essa:

Tenho uma determinada Tabela SQL Server com os campos:
Cb2Codigo, Cb2Item, Cb2Valor

Gostaria de ordenar por valor em ordem decrecente mantendo o Cb2Item = ‘001’ em primeiro lugar
Na verdade poderia ficar primeiro os Cb2Item=‘001’ (independente do valor), depois todos os valores positivos e por ultimo os valores negativos

Abs,
Júlio
TUNUSAT 11/11/2014 08:21:01
#442402
Júlio,

Serve assim?

SELECT tbValores.Cb2Codigo, tbValores.Cb2Item, tbValores.Cb2Valor
FROM tbValores
WHERE ((tbValores.Cb2Item)=[Ô]001[Ô])
UNION ALL
SELECT tbValores.Cb2Codigo, tbValores.Cb2Item, tbValores.Cb2Valor
FROM tbValores
WHERE (((IIf([tbValores].[Cb2Valor] Mod 2,[Ô]V[Ô],[Ô]F[Ô])) =[Ô]V[Ô]) AND (tbValores.Cb2Item)<>[Ô]001[Ô])
UNION ALL
SELECT tbValores.Cb2Codigo, tbValores.Cb2Item, tbValores.Cb2Valor
FROM tbValores
WHERE (((IIf([tbValores].[Cb2Valor] Mod 2,[Ô]V[Ô],[Ô]F[Ô])) = [Ô]F[Ô]) AND (tbValores.Cb2Item)<>[Ô]001[Ô])


[][ô]s,
Tunusat.
JCM0867 11/11/2014 09:26:20
#442405
Opa,
é isso mesmo, Funciona.

Fiz a mesma pergunta ao meu irmão que é analista de sistemas a 30 anos e com muito conhecimento em banco de dados, respondeu o seguinte.

Select
Case Cb2Item
When [ô]001[ô] Then [ô]A[ô]
Else [ô]X[ô]
End As [txt-color=#e80000]ORDER_CB2[/txt-color],
Cb2Codigo ,
Cb2Item,
Cb2Valor
From Cobrancas2a
Order By [txt-color=#e80000]ORDER_CB2[/txt-color], Cb2Valor DESC
TUNUSAT 11/11/2014 11:49:23
#442421
Júlio,

A query de seu irmão ficou mais legal, mas coloquei ela aqui assim (chamei minha tabela de [Ô]tbValores[Ô]):
Select 
Case tbValores.Cb2Item
When [ô]001[ô] Then [ô]A[ô]
Else [ô]X[ô]
End As ORDER_CB2,
Cb2Codigo ,
Cb2Item,
Cb2Valor
From tbValores
Order By ORDER_CB2, Cb2Valor DESC


Deu o erro:

Erro de sintaxe (operador faltando) na expressão de consulta [ô]Case tbValores.Cb2Item
When [ô]001[ô] Then [ô]A[ô]
Else [ô]X[ô]
End[ô].

[][ô]s,
Tunusat.
JCM0867 13/11/2014 21:01:50
#442498
Aqui funcionou 100%

Não está faltando [txt-color=#0000f0]As ORDER_CB2[/txt-color] depois do End?
TUNUSAT 14/11/2014 08:41:17
#442503
JCM0867,

Estava usando o Access. Adaptei-a para uma tabela que eu tenho no SQL Server e funcionou.

Select 
Case CD_PROM
When [ô]001[ô] Then [ô]A[ô]
Else [ô]X[ô]
End As ORDER_CB2,
VL_PROD
From TB_HIST
Order By ORDER_CB2, VL_PROD DESC


Pode ser que no Access seja um pouco diferente...
... bom ... o importante é que funcionou.

[][ô]s,
Tunusat.
JCM0867 14/11/2014 12:03:24
#442514
Abandonei totalmente o Access, só manutenção
Tenho usado somente o SQL Server, mais seguro, mais estável, mais rápido e mais poderoso.
TUNUSAT 14/11/2014 12:10:51
#442516
JCM0867,

Com certeza!
E que tem lugares que só tem access e olhe lá! KKKKK! Dai não tem jeito.

[][ô]s,
Tunusat.
Tópico encerrado , respostas não são mais permitidas