主表
订单id---门店--订单时间
A-----门店1--时间1
B----门店2----时间2
字表
产品id---订单id--产品详情
产品1---A------产品详情
产品2----A---产品详情
产品3----B---产品详情
产品4----B---产品详情
查询结果:
A----门店1--时间1
产品1---A------产品详情
产品2----A---产品详情
B----门店2----时间2
产品3----B---产品详情
产品4----B---产品详情
在查询结果中将订单和他的明细都查询出来,并且按顺序放在一起。
------解决方案--------------------
with tb(id,md,time1)as(
select 'a','门店1','时间1' union all
select 'b','门店2','时间')
,tc(cid,id,cxq) as(
select '产品1','a','产品详情' union
select '产品2','a','产品详情' union
select '产品3','b','产品详情' union
select '产品4','b','产品详情' )
,tb1 as(
select ROW_NUMBER()over(order by id)num,* from tb
)
,tc1 as(
select ROW_NUMBER()over(order by cid)num,* from tc
)
select id,md,time1 from(
select convert(varchar,num)num,id,md,time1 from tb1
union all
select convert(varchar,(select num from tb1 where tc1.id=id))+
'_'+CONVERT(varchar,num),cid,id,cxq
from tc1)a order by num