【发布时间】:2016-07-13 13:07:52
【问题描述】:
我正在学习 sql 并试图弄清楚如何以一对多的关系编写两个表的查询。
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')
这是一张桌子
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
1 John Carter Jones 111-111-1112
1 John Carter Jones 111-111-1113
我想达到以下结果
1 John Carter Jones 111-111-1111 111-111-1112 111-111-1113
非常感谢任何帮助。
【问题讨论】:
-
如果你刚开始学习 SQL,我强烈建议不要从一些讨厌的噱头开始,比如旋转。 ;-) 但是,这是可以做到的,但是如果您以前从未使用过 SQL,这并不容易。