別のSQLの質問にちょっと固執しました....非等価結合を使用して結合する
すべての顧客アカウントのトランザクションを表示します。 JOIN USINGを使用して解決してください。名前、顧客番号、勘定タイプ、取引番号でソートします。
注:量は、非等価結合テーブルからのものです。正直なところ、構文が正しいかどうか、16-11-25のような形式の日付を取得する必要があるかどうかは不明です。どんな助けでも大歓迎です。
SELECT
First_name as "First",
Surname as "Last",
Customer_number as "Cust #",
wa.Account_type as "Type",
Transaction_number as "Trans #",
Transaction_type as "T",
Date_created('DD-MM-YY') as "Date",
Amount as "Amount"
from
WGB_CUSTOMER wc
join WGB_ACCOUNT wa using (Customer_number)
join WGB_TRANSACTION wt using (Customer_number)
join WGB_ASSETS on (Amount>0)
order by
1,2,4,5;
'JOINを... USING'は、OracleのPLに固有の省略形構文は次のとおりです。/SQL。移植性を最大にするには、それを避けて、伝統的な 'JOIN ... ON'構文を使用する必要があります。つまり、これは宿題のように見えます。 – Dai
DBテーブルの設計がわからないため、あなたの質問にお答えすることはできません。 – Dai
また、型の安全性を失うため、SQLで日付書式を使用しないでください。可能な限り元のデータ型がクエリのコンシューマに確実に渡されるようにする必要があります。そして 'yy-MM-dd'はどの国のシステムでも有効な日付フォーマットではないので、ISO 8601(一様な日付表現が必要な場合は' yyyy-MM-dd'を使用するべきですが、層、クエリではありません)。 – Dai