我们有一个MS SQL Server 2012,我需要帮助找出使用SQL查询的某些模式输出。下面结果的第一个字段需要是硬编码字母。 D代表人口统计,R代表收入,P代表设计。这是架构的sqlfiddle示例: here
预期结果:
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
答案 0 :(得分:1)
使用CTE,
http://sqlfiddle.com/#!6/bed148/4/3
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
答案 1 :(得分:0)
怎么样:
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