1

「From」、「To」、および「Symbol」列を持つ「Temp」というテーブルがあります。列「Symbol」の値に基づいて、列「To」の値を列「From」にスワップしたい..例

Temp      From        To        Symbol
        -1000        -24858       <
         2000         50000       ><
         4000         8000        >

私が望むのは、「To」の値を「From」に、「From」の値を「Symbol」の値が「<」である「To」にスワップすることだけです。残りは同じままです。そして、この出力は選択クエリの結果である必要があります。

したがって、出力は次のようになります。

Temp      From        To        Symbol
        -24858       -1000        <
         2000         50000       ><
         4000         8000        >    
4

2 に答える 2

3
Select (Case when symbol='<'
then [to] 
else [from] end)as [from],(Case when symbol='<'
then [from] 
else [to] end)as [to] from temp

ここにSQL FIDDLEデモがあります

于 2013-04-27T14:44:59.440 に答える
0

これを試して。

update tablename
SET [to]= case WHEN symbol='<' THEN [from] ELSE [to] END,
[from]=case WHEN symbol='<' THEN [to] ELSE [from] END
于 2013-04-27T14:43:42.767 に答える