实例讲解一个不用游标就可以实现的问题

检测设备2020年06月25日

问题:假如有两个表a(aid,bid),b(bid,bname,bprice)

a的字段表示顾客ID和商品ID,一个顾客可以买多种商品

现在a有记录:

1,101,111,122,102再聚中国休闲服装名城——石狮,13

b的字段表示商品ID,商品名称,商品价格

现在b有记录:

10,aaa,111,bbb,212,ccc,313,ddd,4

现在要实现显示顾客买的商品名称和价钱即字段:

aid,bname,bprice

但是同一个顾客只保留一个ID,其他为null

应当如何实现?

即将上面的记录实现为以下内容:

1,aaa,1,bbb如果你直接而盲目地操作项目,2,ccc,32,aaa,1,ddd,4

以上这个示例如果不用游标有办法实现吗?

具体解决方法如下:

CREATE TABLE #T1(aid int ,bid int)INSERT INTO #T1SELECT 1,10 UNION ALLSELECT 1,11 UNION ALLSELECT 1,12 UNION ALLSELECT 2,10 UNION ALLSELECT 2,13CREATE TABLE #T2(bid int,bname nvarchar(10),bprice int)INSERT INTO #T2SELECT 10,""aaa"",1 UNION ALLSELECT 11,""bbb"",2 UNION ALLSELECT 12,""ccc"",3 UNION ALLSELECT 13,""ddd"",4SELECT d,ame,rice INTO #T3 FROM #T1 AS A LEFT OUTER JOIN #T2 AS B ON d=dDECLARE @aid int ,@lastaid intUPDATE #T3 SET @aid=(CASE WHEN ISNULL(@lastaid,"""") =aid THEN NULL ELSE aid END),aid=@aid,@lastaid=aidSELECT * FROM #T3DROP TABLE #T1,#T2,#T3

结果如下:

/*1 aaa 1NULL bbb 2NULL ccc 32 aaa 1NULL ddd 4*/

甘肃白癜风医院
一岁宝宝消化不良怎么办
潍坊治疗白癜风好的医院
相关阅读
周慧敏的珍藏照掀起一波回忆擒,天后王菲知性优雅,张敏气质出众

5月13日,关淑怡的工作室体会出大批北京故宫博物院多年的老拍照,是关淑怡...

2024-04-17
放弃民办三本选择公办专科后,才说出的4件事,后悔没有早知道

很多同学和幼儿都将改变命运的希望寄托在高考上,希望能考上一个好的所学...

2024-03-06
Aspex Management (HK) Limited平安保险美兰空港(00357)49.3万股

香港联交所最新资料显示,7同年5日,Aspex Management (HK) Limited年末美兰空港(00...

2024-01-31
苏州国际化学校上半年,这些新校怎么选?攻略来了!

常州近些年不断创新了学校发展迅猛,略长略长几年涌现了一大批新了学校。...

2024-01-30
疫情中的特殊618,“承压”的诸州写下反思

作者:崔鹏志 可能:IT时报 武汉SARS封控之年前过后有约两个月初,618娱乐场...

2024-01-05
本土新增“3297+18187”!山西新增本土新冠胃癌确诊病例5例和无症状感染者28例;隐瞒行程返家

4同月18日0—24时,31个省(自治北区、直辖市)和新疆生产建设兵团调查报告...

2023-12-12
友情链接
2