Order by avanzado

muchas gracias por la ayuda de antemano
mi pregunta consite en lo siguiente en un almacen tenemos los artículos ordenados nivel pasillo sección y charola
en el campo nivel existe 1,2,3,4
en el campo pasillo existe ra,rb,rc, a,b,c,d,e,f
en el campo sesión exitenn 1,2,3 ...15,16,17
en el campo charola exite a,b,c,d,e
necesito realizar un serlect donde orden primero por nivel , pero despuesdebe de ordenar por passillo en el siguiente orde ra,rb,rc, a,b...g,h
para ello creamos el siguiente store USE [SBOArboledas2012A] GO /****** Object: StoredProcedure [dbo].[Pedidos] Script Date: 05/14/2012 11:31:33 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE [dbo].[Pedidos]
@DocEntry int
AS
BEGIN
SELECT (dbo.ORDR.DocNum), dbo.OWHS.WhsName, dbo.OWHS.Location, dbo.ORDR.Comments, dbo.ORDR.DocEntry, dbo.ORDR.DocDate, dbo.ORDR.DocDueDate,
convert(varchar(5),dateadd(minute,DocTim… doctime, dbo.ORDR.CardCode, dbo.ORDR.CardName, dbo.ORDR.Address, dbo.OSHP.TrnspName, dbo.RDR1.U_Pasillo, dbo.RDR1.U_Nivel, dbo.RDR1.U_Seccion,U_Charola , dbo.RDR1.U_Stand, dbo.RDR1.U_Lote, dbo.RDR1.U_Fecha, dbo.RDR1.Quantity, dbo.RDR1.Dscription, dbo.RDR1.ItemCode, dbo.RDR1.ShipDate, dbo.RDR1.OpenQty, dbo.RDR1.U_Onhand, dbo.ORDR.U_Telemarketing, dbo.ORDR.U_Movimiento, dbo.ORDR.U_Origen, dbo.ORDR.U_BXP_Status FROM dbo.OSHP INNER JOIN dbo.ORDR ON dbo.OSHP.TrnspCode = dbo.ORDR.TrnspCode INNER JOIN dbo.RDR1 ON dbo.ORDR.DocEntry = dbo.RDR1.DocEntry INNER JOIN dbo.OWHS ON dbo.RDR1.WhsCode = dbo.OWHS.WhsCode
WHERE dbo.ORDR.DocEntry = @DocEntry order by dbo.RDR1.U_Nivel, CASE dbo.RDR1.U_Pasillo WHEN 'RA' THEN 1 WHEN 'RB' THEN 2 --WHEN 'RC' THEN 0.3 --WHEN 'A' THEN 0.4 --WHEN 'B' THEN 0.5 --WHEN 'C' THEN 0.6 --WHEN 'D' THEN 0.7 --WHEN 'E' THEN 0.8 --WHEN 'F' THEN 0.9 END--,dbo.RDR1.U_Seccion,U_Charola
END
pero me no me sale ordenado el pasillo esto es lo que arroja(en los campos del order by)
pasillo nivel sección charola G 2 NULL NULL K 2 NULL NULL G 3 NULL NULL G 3 NULL NULL H 3 NULL NULL K 1 NULL 2 J 1 NULL 1 G 2 NULL NULL H 2 NULL NULL RB 1 NULL 1 A 2 NULL 3 A 2 NULL 3
me pueden orientar que estoy haciendo mal o no estoy considerando

Añade tu respuesta

Haz clic para o