Jav*_*per 4 outer-join sql-server-2008
我有一个SQL Server 2008数据库.该数据库有三个表:
人
- Id
- FullName
- MembershipStatusId (nullable)
- HairStyleId (nullable)
Run Code Online (Sandbox Code Playgroud)
MembershipStatus
- Id
- Name
Run Code Online (Sandbox Code Playgroud)
发型
- Id
- ColorName
- Description
Run Code Online (Sandbox Code Playgroud)
我需要创建一个列出数据库中所有人的查询.因为MembershipStatusId
并且HairStyleId
都可以为空,我知道我需要做一个左外连接.但是,因为有多个表,我不知道该怎么做.只有一个左外连接,我知道我可以这样做:
SELECT
p.*,
m.Name as 'MembershipStatus',
-- how do i include the person's hair color as part of my result set?
FROM
Person p LEFT OUTER JOIN
MembershipStatus m ON p.[MembershipStatusId]
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何为发型名称添加左外连接.有人可以告诉我如何包含人的头发颜色?
谢谢!
Tar*_*ryn 10
你只需要做另一个LEFT JOIN
包含HairStyle表
SELECT
p.*,
m.Name as 'MembershipStatus',
h.ColorName
FROM Person p
LEFT JOIN MembershipStatus m
ON p.[MembershipStatusId] = m. Id
LEFT JOIN HairStyle h
ON p.HairStyleId = h.id
Run Code Online (Sandbox Code Playgroud)
查看关于SQL Fiddle的演示
归档时间: |
|
查看次数: |
41453 次 |
最近记录: |