1
私はSQLを学び、1対多の関係で2つのテーブルのクエリを書く方法を理解しようとしています。Oracle SQLクエリ1つの行に複数行、複数行を選択
Table1
は、人物の情報を持っています (PersonId, FirstName, MiddleName, LastName)
とtable2
は(PersonId, Phone, PhoneType)
を持っています。ここで
は私のクエリは、ここでは、これまで
select Table1.PERSON_ID,
Table1.FIRST_NAME,
Table1.MIDDLE_NAME,
Table1.LAST_NAME,
Table2.PHONE_NUMBER
from Table1
inner join Table2
on Table2.PERSON_ID = Table1.PERSON_ID
where Table2.PHONE_TYPE in ('BUSINESS','PERSONAL','HOME')
である私は、私は次の結果
を達成したいと思います1 John Carter Jones 111-111-1111
1 John Carter Jones 111-111-1112
1 John Carter Jones 111-111-1113
を取得し、私のクエリからテーブル
Table1
PERSON_ID FIRST_NAME MIDDLE_NAME LAST_NAME
1 John Carter Jones
Table2
PERSON_ID PHONE_NUMBER PHONE_TYPE
1 111-111-1111 HOME
1 111-111-1112 PERSONAL
1 111-111-1113 BUSINESS
です
1 John Carter Jones 111-111-1111 111-111-1112 111-111-1113
ご協力いただきありがとうございます。
あなただけの学習SQLを起動している場合は、私は強く、旋回のようないくつかの厄介な仕掛けで起動しないようにお勧めします。 ;-)しかし、それはできますが、以前はSQLで作業したことがない方が簡単です。 – Tyron78
ピボットに関して、これは役立ちます。http://www.oracle.com/technetwork/articles/sql/11g-pivot-097235.html – Tyron78