【发布时间】:2014-04-20 01:21:57
【问题描述】:
我正在尝试构建一个用于报告目的的视图,并且无法通过将几个值组合成列来展平结果以将通常多行显示为单行的内容。每个组织都有两个管理员,并希望将他们都显示在同一行中。查询如下:
SELECT dbo.Organization.OrganizationName,
CASE
WHEN (dbo.OrganizationUser.AdminOrder = 1)
THEN dbo.OrganizationUser.UserID
ELSE ''
END AS Admin1,
CASE
WHEN (dbo.OrganizationUser.AdminOrder = 2)
THEN dbo.OrganizationUser.UserID
ELSE ''
END AS Admin2
FROM dbo.Organization
INNER JOIN dbo.OrganizationUser
ON dbo.OrganizationUser.OrganizationId = dbo.Organization.OrganizationId
WHERE dbo.OrganizationUser.UserType = 'ADMIN'
问题是,我得到 2 行看起来像
Organization1 - User1 - <empty>
Organization1 - <empty> - User2
我无法合并行。
【问题讨论】:
-
您的数据库是否支持数据透视函数?它将允许您将行转换为列。