Azure SQLでいくつかの条件付きクエリを実行しようとしていますが、実行方法がまったくわかりません。私はこれらの2つのテーブルを持っています:
注文表
OrderID (PK)
...
OrderHistoryテーブル
OrderHistoryId (PK)
OrderId (FK)
DisplayString
OrderStatus
ここで、私がやりたいのは、テーブルOrderHistoryをクエリに結合し、OrderHistoryに対するいくつかの条件付きクエリに基づいて変数を返すことです。
SELECT O.OrderId, [...], Variable
FROM [Order] AS O
-- some code to get "Variable" from OrderHistory
ORDER BY O.OrderId DESC
OFFSET 0 ROWS
FETCH NEXT 200 ROWS ONLY
条件
- O.OrderIdに関連付けられた行のいずれかに、DisplayStringに%FINISHED%が含まれている場合、またはOrderStatus = 1; その後、1を返します
- O.OrderIdに関連付けられた行のいずれかにOrderStatus=2が含まれ、DisplayStringに%FINISHED%が含まれていない場合。次に2を返します
- O.OrderIdに関連付けられているすべてのOrderStatusの合計が0に等しい場合。その後、3を返します
結果
結果として私が欲しいものは次のとおりです。
OrderId [...] Variable
1 ... 1
2 ... 3
3 ... 2
4 ... 2