Sql server 2012 每次访问的特定模式的Sql输出

Sql server 2012 每次访问的特定模式的Sql输出,sql-server-2012,Sql Server 2012,我们有一个MS SQL Server 2012,我需要帮助使用SQL查询找出某些模式输出。下面结果的第一个字段需要硬编码字母。D代表人口统计,R代表收入,P代表设计。以下是模式的SQLFIDLE示例: 预期结果: D ID101 James R ID101 $10 P ID101 1001 D ID102 Rock R ID102 $50 P ID102 1002 D ID103 Paul

我们有一个MS SQL Server 2012,我需要帮助使用SQL查询找出某些模式输出。下面结果的第一个字段需要硬编码字母。D代表人口统计,R代表收入,P代表设计。以下是模式的SQLFIDLE示例:

预期结果:

D   ID101   James   
R   ID101   $10     
P   ID101   1001    
D   ID102   Rock    
R   ID102   $50     
P   ID102   1002    
D   ID103   Paul    
R   ID103   $30     
P   ID103   1003
那么:

Select 'D' as i, PersonID, name from Demographics
union
Select 'R' as i, PersonID, Payment from Revenue
union
Select 'P' as i, PersonID, Item from Design
order by PersonId, i
有了CTE


很可能是由Ahmed Ashour订购的,谢谢!真不敢相信事情竟那么简单。惊讶。
with t(Indicator, PersonID, Value)
as
(
  select 'D', * from Demographics
  union
  select 'R', * from Revenue
  union
  select 'P', * from Design
)
select Indicator, PersonID, Value
from t
order by 2, 1