1

うまくいけば、あなたが助けてくれるでしょう。

変数データを持つテーブルからクエリを作成しています。具体的にcompletedは、値を持つことができる列、1または3テーブルにも 2 つの qty_ フィールドがQTYORDEREDあり、QTYSHIPPED

値が入っている場合は値3COMPLETED含まQTYSHIPPEDれ、値が入っている場合は値が1ありQTYORDEREDます。

私がする必要があるのは、クエリ内で、QTY誰かが SQL Server でこれを達成する方法を教えてくれる列を 1 つ作成することです。

4

2 に答える 2

7

これは簡単なcaseステートメントです。

select (case when completed = 1 then QTYORDERED
             when completed = 3 then QTYSHIPPED
        end) as QTY

completed他の値がある場合、これは NULL を返すことに注意してください。

これを次のように書くこともできます。

select (case completed when 1 then QTYORDERED
                       when 3 then QTYSHIPPED
        end)

ただし、最初の形式はより一般的であり、複雑なロジックに対してより柔軟に対応できます。

于 2013-07-16T13:27:49.997 に答える
2
SELECT 
   CASE completed
      WHEN 1 THEN QTYORDERED 
      WHEN 3 THEN QTYSHIPPED
      ELSE 0  --Or add any logic when something goes wrong with "completed" value
   END as Quantity
FROM ....
于 2013-07-16T13:33:57.727 に答える