1

リクエストを実行した後の結果は次のとおりです。

Category

K
O
I
P
Q
K

これが私が必要とする種類の結果です。

Category

Key
Non-Key
Intercompany
Non-Key
Non-Key
Key

注文されているかどうかは気にしません。これを行うには、このxmlファイルがあります。

<BPCategories>
<BPCategory name="Core">
    <type value ="C"/>
</BPCategory>
<BPCategory name="Intercompany">
    <type value="I"/>
</BPCategory>
<BPCategory name = "Key">
    <type value="K"/>
</BPCategory>
<BPCategory name = "Non-Key">
    <type value="0"/>
    <type value="_"/>
    <type value="L"/>
    <type value="N"/>
    <type value="O"/>
    <type value="P"/>
    <type value="Q"/>
    <type value="S"/>
    <type value="V"/>
</BPCategory>
<BPCategory name="WOV">
    <type value="W"/>
</BPCategory>
</BPCategories>

だから私の質問は、SQLクエリ内でそれを行うことは可能ですか? カテゴリ間の対応を行う表を持っていないことを知っておく必要があります。出来たとしても、結果セットにforループをかけて値を変更した方が良いのではないでしょうか。実際、C# でこれを行う最善の方法を探しています。

前もって感謝します ;)。

4

2 に答える 2

1

CASEselectステートメントでaを使用して簡単に行うことができます

Select
CASE Category
WHEN 'K' THEN 'Key'
WHEN 'O' THEN 'Non-Key'
WHEN 'I' THEN 'InterCompany'
WHEN 'P' THEN 'Non-Key'
WHEN 'Q' THEN 'Non-Key'
WHEN 'K' THEN 'Key'
END as Category
FROM ...

これがMS-SQLサーバーであると仮定します: http://msdn.microsoft.com/en-us/library/ms181765.aspx

于 2013-05-29T07:47:50.187 に答える