参加したい「顧客」と「アクティベーション」の2つのテーブルがあります。それらの構造は次のとおりです。
CUSTOMER Activation
------------ -------------
Id Name EntityId Date_Created Type
1 A 1 2012 EMAIL
2 B 2 2011 SMS
3 C
ここで、customer.Id = Activation.EntityId でこれら 2 つのテーブルを結合したいと思います。ただし、最終的なテーブル構造を次のようにしたい:
Id Name Date_Email Date_SMS
1 A 2012 NULL
2 B NULL 2011
基本的に、列 Date_Email と Date_SMS は両方とも Activation.Date_Created 列から取得されます。Activation.Type が EMAIL の場合、最終結果の Date_Email を Date_created に設定し、Date_SMS を null に設定します。Activation.type が SMS の場合は、別の方法で行います。
私が今持っているのはこれです:
SELECT Customer.Id, Name, Date_Created AS Date_EMail, DATE_Created AS Date_SMS
from Customer
inner join Activation ON Customer.Id = Activation.EntityId;
ここで、Activation.Type 列に基づいて If-else 条件を作成する必要があります。私はこれにまったく慣れておらず、グーグルでこれを理解することができませんでした。私はOracle XEデータベースを使用しています
誰かがこれで私を助けることができますか? ありがとう