テーブルが3つあるとします。transaction
、cust_type_1
、cust_type_2
です。データに応じてoracleに参加するテーブルを選択してください
Transaction
Cust_type char - type of customer which can be 1 or 2
Cust_id number - id from their respective table i.e. cust_type_1 and cust_type2
Amount number - amount
Cust_type_1
ct1_id number - id(pk)
ct1_name varchar - customer name
Cust_type_2
ct2_id number - id(pk)
ct2_name varchar - customer name
ここでは名前と量のみが表示されるビューを作成したいと考えています。
select COND_JOINED_TABLE_ALIAS.name,t.amount
from transaction t
join case when t.type = 1 JOIN CUST_TYPE_1
else JOIN CUST_TYPE_2 END AS COND_JOINED_TABLE_ALIAS
どのようにデータのタイプに基づいて条件付き結合を達成できますか。 はい、このユースケースを避けるためのより良い構造があるかもしれません。しかし、これは単なる例です。 ご協力いただければ幸いです。
を使用することができる私はむしろ、内側よりも参加それは外側のままにしておく必要があり信じ上記のクエリの両方に存在しないtransaction.cust_id値のレコードが得られないだろうとして参加cust_type_1およびcust_type_2テーブル –