ORDENA?ÃO NO SQL SERVER
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
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
Júlio,
Serve assim?
[][ô]s,
Tunusat.
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.
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
é 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
Júlio,
A query de seu irmão ficou mais legal, mas coloquei ela aqui assim (chamei minha tabela de [Ô]tbValores[Ô]):
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.
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.
Aqui funcionou 100%
Não está faltando [txt-color=#0000f0]As ORDER_CB2[/txt-color] depois do End?
Não está faltando [txt-color=#0000f0]As ORDER_CB2[/txt-color] depois do End?
JCM0867,
Estava usando o Access. Adaptei-a para uma tabela que eu tenho no SQL Server e funcionou.
Pode ser que no Access seja um pouco diferente...
... bom ... o importante é que funcionou.
[][ô]s,
Tunusat.
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.
Abandonei totalmente o Access, só manutenção
Tenho usado somente o SQL Server, mais seguro, mais estável, mais rápido e mais poderoso.
Tenho usado somente o SQL Server, mais seguro, mais estável, mais rápido e mais poderoso.
JCM0867,
Com certeza!
E que tem lugares que só tem access e olhe lá! KKKKK! Dai não tem jeito.
[][ô]s,
Tunusat.
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