-1

using (for loop , if .. else) のようなロジックでビューを作成したかったのですが、SQL ではサポートされていないため、パラメーターをとらずテーブルを返すテーブル関数を作成することを考えました。

orders私は以下のようなテーブルを持っています

OrderId  Destination  Category  Customer
----------------------------------------
6001     UK           5         Adam
6002     GER          3         Jack

そしてtracking orders、以下の表

ID  OrderID  TrackingID
-----------------------
1   6001     1
2   6001     2
3   6002     2

そして、ここにあるのはtypes of tracking

ID  Name
--------------
1   Processing
2   Shipped
3   Delivered

に示すようにtracking order、発生した追跡イベントの数によっては、注文番号に複数のレコードが含まれる場合があります。

ここには含めなかった 25 を超える追跡タイプがあります。これは、1 つの注文がテーブルに 25 回存在できることを意味しtracking orderます。

そうは言っても、私の要件は、注文が5つまたは3つのカテゴリに属している必要があるという条件で、以下のようにビューを作成することです(15を超えるカテゴリがあります)。

関数を実行するたびに、更新された情報を返す必要があります。

たとえば、新しいトラッキングが発生し、それが に挿入されたtracking order場合、関数を実行して、対応するフラグ列 (例: ) で更新を確認したいと考えていますisDelivered

ここに画像の説明を入力

これを達成するための最良の方法は何かについて、私は本当に混乱しています。正確なスクリプトは必要ありません。SQL にあまり詳しくないので、それを達成する方法を理解する必要があるだけです。

4

1 に答える 1