Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

ordernar positivos y negativos

Estas en el tema de ordernar positivos y negativos en el foro de SQL Server en Foros del Web. Tengo una tabla que contiene un campo importe el cual necesito ordenarlo de mayor a menor pero por el sigo: IMPORTE 25000 -25000 18000 -18000 ...
  #1 (permalink)  
Antiguo 15/10/2008, 17:05
Avatar de admado  
Fecha de Ingreso: junio-2006
Ubicación: Morelos, México
Mensajes: 115
Antigüedad: 17 años, 10 meses
Puntos: 0
Exclamación ordernar positivos y negativos

Tengo una tabla que contiene un campo importe el cual necesito ordenarlo de mayor a menor pero por el sigo:

IMPORTE
25000
-25000
18000
-18000
7000
-7000
1000
-1000

ALGUIEN SABE COMO HACERLO
__________________
>>> El hombre se hace viejo muy pronto y sabio demasiado tarde <<<
  #2 (permalink)  
Antiguo 15/10/2008, 17:33
 
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 2
Antigüedad: 16 años, 9 meses
Puntos: 0
De acuerdo Respuesta: ordernar positivos y negativos

Intenta la siguiente manera

SELECT
campoTexto, campoNumerico
FROM
Tabla
ORDER BY campoNumerico ASC;
------------------------------------------------------
Tres -1500
Cinco -350
Uno 125
Cuatro 200
Dos 3501




SELECT
campoTexto, campoNumerico
FROM
Tabla
ORDER BY campoNumerico DESC;
------------------------------------------------------
Dos 3501
Cuatro 200
Uno 125
Cinco -350
Tres -1500
  #3 (permalink)  
Antiguo 15/10/2008, 20:38
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: ordernar positivos y negativos

no entendi,

cual seria el resultado que esperas con tu ejemplo?

o ese es el resultado?


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #4 (permalink)  
Antiguo 16/10/2008, 10:56
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: ordernar positivos y negativos

y si lo ordenas por el Abs(Importe), Importe
de la siguiente manera

Cita:
Select IMPORTE from TABLA
Order by Abs(IMPORTE), 1
osea asi
Cita:
Select convert(numeric (18,6), Total) [Total] from
(
Select 2500[Total] union
Select -2500 union
Select 1500 union
Select -1500 union
Select 500 union
Select -500
) as k
order by abs([Total]) desc,1 desc
  #5 (permalink)  
Antiguo 17/10/2008, 11:52
Avatar de admado  
Fecha de Ingreso: junio-2006
Ubicación: Morelos, México
Mensajes: 115
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: ordernar positivos y negativos

ya intente convertir el campo importe a varchar y ordenarlos. Tambien order by abs([Total]) desc,1 desc. pero no logro ordenar los datos de mayor a menor sin importar el signo.

Debe mostrar en pantalla:

19000.00
-1500.09
10000
-5500.90
.....

Alguien ayudeme ya me desespere!!
__________________
>>> El hombre se hace viejo muy pronto y sabio demasiado tarde <<<
  #6 (permalink)  
Antiguo 17/10/2008, 18:00
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: ordernar positivos y negativos

Pues en otro preguntaste:

---------------------------------------------------------------------------------------------------------------
necesito ordenar el campo importe de mayor a menor sin importar se es positivo o negativo

IMPORTE
1000
-8500
-5000
4000
3000
-250

ya intente ORDER BY IMPORTE DESC
intente cambiar el tipo de la columna CAST (importe AS VARCHAR(10) ), de esta forma si me los ordena sin importar el singo pero lo toma de 9 a 0 el ordenamiento.
--------------------------------------------------------------------------------------------------------------------

Mi respuesta fue:
--------------------------------------------------------------------------------------------------------------------
create table #prueba (numero numeric(10))
insert into #prueba values(1000)
insert into #prueba values(-8500)
insert into #prueba values(-5000)
insert into #prueba values(4000)
insert into #prueba values(3000)
insert into #prueba values(-250)
-- select * from #prueba order by numero
select * from #prueba order by case when numero <0 then (numero*-1) else numero end
------------------------------------------------------------------------------------------------------------------

¿Ya cambiaron las necesidades?
  #7 (permalink)  
Antiguo 17/10/2008, 18:18
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: ordernar positivos y negativos

He probado tambien con ABS(numero) y funciona tal cual lo recomienda -rommel-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:04.