2017-10-05 1 views
0

Comment ajouter Trier par IDS spécifiques dans sql select requêteComment ajouter Trier par IDS spécifiques dans SQL select requête

Je Table_Example comme ci-dessous

ID Name 
    2 Text2 
    9 kkk 
    10 jj 
    1 pp 

je besoin d'une sortie comme ci-dessous

ID Name 
    9 kkk 
    1 pp 
    10 jj 
    2 Text2 
+3

vous ne mentionnez pas logique pour commander.il est difficile à comprendre. –

+0

Ce sont des valeurs fixes seulement j'ai 10 valeurs dans ce tableau qui est Table de recherche, il n'augmentera pas. @VamsiPrabhala – zahed

+0

J'espère que vous comprenez mes besoins maintenant. @VamsiPrabhala – zahed

Répondre

0

Vous simplement utiliser Case expression comme ci-dessous si vous avez quelques enregistrements & veut des commandes sur mesure:

SELECT ID, 
     NAME 
FROM <table_name> 
ORDER BY(CASE(NAME) 
      WHEN 'kkk' 
      THEN 1 
      WHEN 'pp' 
      THEN 2 
      WHEN 'jj' 
      THEN 3 
      WHEN 'Text2' 
      THEN 4 
     END); 

Sortie:

enter image description here

+0

Merci, j'ai eu ma réponse de votre requête. @Yogesh Sharma – zahed

1

Si vous vous attendez à ce que les valeurs de la table aient une commande, ajoutez simplement une colonne de clé de tri à la table.

alter table lookup_table add column sortkey int; 

Puis remplissez les touches de tri et utilisez-les dans votre requête.

select 
... 
order by sortkey; 
+0

Où est ma déclaration IDS?, Peut mettre à jour clairement. @Thorsten Kettner – zahed

+0

Je ne comprends pas votre question. Vos identifiants sont bien sûr dans le tableau, tout comme les noms, et il devrait en être ainsi. Vous donneriez à l'enregistrement ID 9 la clé de tri la plus basse et l'enregistrement ID 1 le plus élevé et vous le trieriez toujours par cette clé de tri. –

+0

Si vous mettez à jour la réponse complète sera utile et je mentionne clairement la question ci-dessus devrait comme ci-dessous. @Thorsten Kettner – zahed