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 にあまり詳しくないので、それを達成する方法を理解する必要があるだけです。