2010-11-18 8 views
2

J'ai une procédure stockée avec un paramètre d'entrée, Maintenant sur la base de ce paramètre mon instruction 'order by' changera comme si le paramètre d'entrée est 'ID' (colonne type int) puis ordonne par ID, si c'est 'ProductType' 'puis commandez par type de produit et si c'est' IssueDate 'alors il devrait être commandé par questionDate.Comment ajouter une condition dans 'Trier par'?

maintenant j'ai ajouté 2 if else déclaration dans mon SP, mais cette solution n'est pas évolutive, donc ma question est là une meilleure façon.

Répondre

4

Si vous utilisez SQL Server, vous pouvez utiliser une instruction case

order by 
    case inputparameter 
    when 'id' then id 
    when 'productType' then ProductType 
    else defaultOrderBy 
    end 
Questions connexes