高分求助一个复杂的查询结果集的显示
我有三个表的内容, 分别是:
sitename times
all108
site236
sitename company_id times
all000535
all000963
all002310
site2000535
site200231
sitename company_id pact_id times
all0005000135
all0009000163
all0023000210
site20005000135
site2002300011
要求查询的结果能够显示为这个样子
sitenamecompany_idpact_idtimes
all 108
0005 35
0001 35
0009 63
0001 63
0023 10
0002 10
site2 36
0005 35
0001 35
0023 1
0001 1
不用游标嵌套循环要怎么做呢?恳请高手解答
[解决办法]
没有做过,帮顶
[解决办法]
感觉好奇怪的要求,帮顶!
[解决办法]
学习帮顶
[解决办法]
select 'all ' sitename,108 times into t1 union
select 'site2 ' sitename,36 times
go
select 'all ' sitename, '0005 ' company_id, 35 times into t2 union
select 'all ' sitename, '0009 ' company_id, 63 times union
select 'all ' sitename, '0023 ' company_id, 10 times union
select 'site2 ' sitename, '0005 ' company_id, 35 times union
select 'site2 ' sitename, '0023 ' company_id, 1 times
go
select 'all ' sitename, '0005 ' company_id, '0001 ' pact_id, 35 times into t3 union
select 'all ' sitename, '0009 ' company_id, '0001 ' pact_id, 63 times union
select 'all ' sitename, '0023 ' company_id, '0002 ' pact_id, 10 times union
select 'site2 ' sitename, '0005 ' company_id, '0001 ' pact_id, 35 times union
select 'site2 ' sitename, '0023 ' company_id, '0001 ' pact_id, 1 times
go
selectcase when company_id is null and pact_id is null then sitename else null end sitename,
case when pact_id is not null then null else company_id end company_id,
pact_id,
times
from
(
select sitename,null company_id,null pact_id,times from t1 union
select sitename,company_id,null pact_id,times from t2 union
select sitename,company_id,pact_id,times from t3
) tb
drop table t1
drop table t2
drop table t3