2016-04-28 5 views
0

Below bestellen ist die Abfrage:Python: Wie durch dynamisch zu einem RawQuery Set

select a.* 
from customers a INNER JOIN 
    (SELECT city,M IN(id) as id 
     FROM customers 
     GROUP BY city 
    ) b 
    ON a.city = b.city AND a.id = b.id; 

Ich habe eine Liste, die von Zeit zu Zeit dynamisch ist. Aber zum besseren Verständnis gebe ich eine Probe.

order_field = ['check-in', 'check-out ASC',.....] 

Dieses order_field wird abhängig vom Benutzer festgelegt, der nach der UI-Option sortiert wird. Hier ordne ich alle eingehenden Felder mit meinem Spaltennamen in der DB ab.

Dann wie bekomme ich die Reihenfolge von Ergebnis, die dynamisch die Felder auf order_field passen.

Wer hat eine Idee?

Antwort

0

versuchen Sie dieses. Ich erkläre das Auftragsfeld bei SQL.

DECLARE @order_field varchar(15) 
SET @order_field = 'DESC ' 

a.* 
from customers a INNER JOIN 
(SELECT city,M IN(id) as id 
    FROM customers 
    GROUP BY city 
) b 
ON a.city = b.city AND a.id = b.id; 
ORDER BY CASE WHEN @order_field ='ASC' THEN a.city END, 
      CASE WHEN @order_field ='DESC' THEN a.city END DESC