oooo ooo
oooo ooo

Reputation: 314

SQL Server Multiple LEFT JOIN, one-to-many

I am looking for a way to perform multiple joins from one source table to more than one table. Similar to the following:

SELECT a.NAME, b.address, c.phone
FROM tblname a
LEFT JOIN tbladdress b ON a.nid = b.nid

I also want to perform a left join on the Telephone table tblPhone at the same time:

tblname a left join tblPhone c on a.PID = c.PID

Try as I might I can't see how to put this into one query.

Upvotes: 6

Views: 31333

Answers (3)

Sergii Kudriavtsev
Sergii Kudriavtsev

Reputation: 10512

SELECT a.name, b.address, c.phone 
FROM (tblname a 
  left join tbladdress b on a.nid = b.nid) c 
left join tblPhone d on c.PID=d.PID

Upvotes: 0

michael667
michael667

Reputation: 3260

SELECT a.name, b.address, c.phone 
FROM tblname a 
left join tbladdress b on a.nid = b.nid
left join tblPhone c on a.PID = c.PID;

Upvotes: 2

D'Arcy Rittich
D'Arcy Rittich

Reputation: 171401

You can simply repeat your JOIN clauses as many times as is needed, e.g.:

SELECT a.NAME
    ,b.address
    ,c.phone
FROM tblname a
LEFT JOIN tbladdress b ON a.nid = b.nid
LEFT JOIN tblPhone c ON a.PID = c.PID

Upvotes: 18

Related Questions