Is it possible in SQL to sort by column rather than row? I do not need the basic ORDER BY operator, I know how it works (for example: order by column1, column2, etc.).
basically trying to sort something like this:
column 1 column 2 column 3 1 0 3
trying to sort by this address:
column 3 column 1 column 2 3 1 0
Is this possible in SQL? preferably t-sql or whatever will work on sql server 2005
ive has been searching the Internet for many hours, and no one even wants to ask this question. or i suck when searching.
; with numbered as ( select SUM(OrderReceived) as c1, SUM(OrderOnHold) as c2, SUM(OrderConfirmed) as c3, row_number() over (order by employee) RecordNumber from( SELECT e.FirstName+' '+e.LastName AS Employee ,CASE WHEN oim.MilestoneID = 10 THEN 1 ELSE 0 END as OrderReceived ,CASE WHEN oim.MilestoneID = 15 THEN 1 ELSE 0 END as OrderOnHold ,CASE WHEN oim.MilestoneID = 20 THEN 1 ELSE 0 END as OrderConfirmed FROM OrderItems oi JOIN Orders o on o.orderid = oi.orderid JOIN OrderItemMilestones oim on oim.orderid = oi.orderid and oim.orderitemid = oi.orderitemid JOIN Milestones m on m.milestoneid = oim.milestoneid JOIN Employees e on e.username = oim.recordedbyuser JOIN Clients cl on cl.clientid = o.clientid WHERE oim.MilestoneDate Between '2012-08-01' and '2012-08-05' and e.terminationdate is null ), ordered as ( select SUM(OrderReceived) as c1, SUM(OrderOnHold) as c2, SUM(OrderConfirmed) as c3, row_number() over (partition by RecordNumber order by employee desc) rn from numbered unpivot (v for c in (c1, c2, c3)) u ) select RecordNumber, [1] c1, [2] c2, [3] c3 from ( select RecordNumber, v, Rn from ordered ) o pivot (min(employee) for Rn in ([1], [2], [3])) p