I have a stored procedure along the lines of
 

 SELECT ID, Amount1, Amount2 ..
 FROM Table1.
 

 UNION
 

 SELECT ID, Amount1, Amount2...
 FROM Table2
 

 ORDER BY 1
 

 Is it possible to construct a conditional ORDER By clause that orders by 
Amount1 under certain conditions, and order by Amount2 under other conditions?
 

 At the moment, the only way around it I have found (and I spent most of the 
night trying!) is to use an If clause and duplicate nearly all the SQL
 

 IF (Condition1) THEN
 

 SELECT ID, Amount1, Amount2 ..
 FROM Table1.
 

 UNION
 

 SELECT ID, Amount1, Amount2...
 FROM Table2
 

 
 ORDER BY 1
 

 ELSE IF (Condition2) THEN
 

 SELECT ID, Amount1, Amount2 ..
 FROM Table1.
 

 UNION
 

 SELECT ID, Amount1, Amount2...
 FROM Table2
 

 ORDER BY 2
 

 This seems a crazy way of having to achieve my aim!
 

 Any help gratefully received.
 


 

Reply via email to