2017-12-18 10 views
0

CAMLクエリで完全なカスタム順序で結果をソートする方法を教えてください。CAMLクエリのカスタムソート順

。例えば

、所与のフィールドのための:

- '栗' に等しい上部に、

- 次に等しい - 'ゼブラ' は、次の、

はに等しいです'家'?

最後に、これらのグループ内で、通常「昇順」の2番目の条件(「名前」など)をソートします。

だから、この

ID Owns  Name 
    ———————————————————— 
    1 Zebra  Sue 
    2 House  Jim 
    3 Chestnut Sid 
    4 House  Ken 
    5 Zebra  Bob 
    6 Chestnut Lou 

はSQLで

ID Owns  Name 
    ———————————————————— 
    6 Chestnut Lou 
    3 Chestnut Sid 
    5 Zebra  Bob 
    1 Zebra  Sue 
    2 House  Jim 
    4 House  Ken 

となり、これはCase/When.とでもCAMLで行うことができますか?それほど多くはありません!

答えて

1

私の知る限り、CAMLにはこのようなソート演算子はありません。この問題を回避するには、数値データ型と数式 =IF(Owns="Chestnut",0,IF(Owns="Zebra",1,IF(Owns="House",3,999)))を使用して計算列をリストに追加することがあります。

これで、カスタムソート順を数値に変換する計算列で注文することができます。もう1つの解決策は、所有するアイテムを持つ2番目のリストを作成し、2番目の列はソート順を含むことです。これらの2つのリストをリンクして、アイテムリストのソート順で並べ替えることができます。メリットは、ソート順の変更はそれぞれのリスト項目の編集と同じくらい簡単です。

関連する問題