Ich lerne SQL und versuchen herauszufinden, wie Sie die Abfrage für zwei Tabelle in einer Eins-zu-viele-Beziehung schreiben.Oracle SQL-Abfrage wählen Sie eins zu viele, mehr Zeilen in eine Zeile Ergebnis
Table1
hat die Person Informationen: (PersonId, FirstName, MiddleName, LastName)
und table2
hat (PersonId, Phone, PhoneType)
.
Hier ist meine Abfrage bisher
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')
hier ein Tabellen
istTable1
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
Aus meiner Anfrage I
1 John Carter Jones 111-111-1111
1 John Carter Jones 111-111-1112
1 John Carter Jones 111-111-1113
Ich möchte erreichen das folgende Ergebnis
erhalten1 John Carter Jones 111-111-1111 111-111-1112 111-111-1113
Jede Hilfe wird sehr geschätzt.
Wenn Sie gerade erst anfangen SQL lernen, würde ich stark mit einigen fiesen Gimmicks wie Schwenken beginnen nicht den Eindruck erwecken. ;-) Aber es kann gemacht werden, aber es ist nicht so einfach, wenn du vorher nie mit SQL gearbeitet hast. – Tyron78
In Bezug auf Pivoting könnte dies helfen: http://www.oracle.com/technetwork/articles/sql/11g-pivot-097235.html – Tyron78