2017-05-16 8 views
0

I unten Update-Abfrage verwenden die decription Spalten von meinem Tischsortiert eine Spalte basierend auf Beschreibung

update t 
    set t.weight=tt.new_weight 
    from SERVICE_OPTION as t 
    INNER JOIN 
    (select id, ROW_NUMBER() over (partition by COUNTRY_ID order by COUNTRY_ID, SERVICE_OPTION_TYPE_ID, description) as new_weight  
    from SERVICE_OPTION) as TT 
    ON t.id = tt.id; 

Table Output

Column Data Types

Problem zu sortieren: in dem zwischen den Werten angehängte Bild zum Beispiel "1st Year Maintenance" und "10th Year Maintenance" in der Beschreibungsspalte, sollte "First Year Maintenance" als erste Spalte sortieren, aber es ist nicht

+2

'Ich benutze unten Update Abfrage '... Nein, du bist nicht, zumindest nicht auf MySQL, die nicht eine' ROW_NUMBER() 'Funktion hat. –

+0

Zuerst herausfinden, welche RDBMS Sie verwenden. Dann siehe https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-very-simple-sql- Abfrage – Strawberry

Antwort

0

Sie könnten die Spalte maintenance_year mit ganzzahligen Werten in der Tabelle SERVICE_OPTION erstellen und die Zeilen nach Eins sortieren. Wenn Sie eine allgemeine Beschreibung verwenden müssen, verwenden Sie die Verkettung maintenance_year und eine vordefinierte Zeichenfolge.

Verwandte Themen