リフレッシュ可能なビュー/テーブルを作成できるように、次のテーブルを最も効率的に正規化する方法について、誰かがガイダンスを提供するのを手伝ってくれるかどうか疑問に思っていました.
表1:
SYSTEM_KEY | ID | ORDER | ORDER_STATUS | SYSTEM_Actions
A 1 Pencil Open Shipped
B 1 Pencil Open Tested
C 1 Pencil Open Shipped
A 1 Paper Closed Delivered
このテーブルを繰り返し可能な方法で次のように正規化しようとしています。
結果:
ID | ORDER | Order Status | A_actions | B_Actions | C_Actions
1 Pencil OPEN Shipped Tested Delivered
1 Paper Closed Delivered null null
私はこれに似たようなことをすることでこれを達成することができました
Select full.ID, full.order, full.orderstatus, case when system_ID = 'A' then sysa.system_actions as A_actions, ....{for B, C}
from table1 full
left join table1 sysa on full.id = sysa.id and full.order = sysa.order
left join table1 sysb on full.id = sysb.id and full.order = sysb.order
これは機能しているように見えましたが、複数のステージング テーブルを使用しなければならないという点で、非常に扱いにくいものでした。
これを達成できる良い方法があるかどうか誰にもわかりますか?