主表 保存 服装信息
ID ,Name
1 , T-Shirt
2, 西服
3, 衬衫
字表,保存不同服装的型号
ID,PID,ProductNo
1,1,X
2,1,L
3,1,S
4,2,XXL
5,2,XXXL
6,2,M
基本表结构如上,现在想得到一个结果
ID ,Name ,ProductNo
1,T-shirt,x-l-s (x-l-s这个是通过一个函数循环得到的)
语句基本是
select id,name,dbo.getProductNo(ID) from Product
这样的方法,但是Product表的商品很多,通过这种方式获取的话,很慢很慢,有什么好办法可以加快商品的读取速度吗?
3 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
用xml path来取x-l-s吧
或者主表可以做适当冗余。
select B.PID,LEFT(pns,LEN(pns)-1) as pns FROM ( SELECT PID, (SELECT ProductNo+',' FROM 表2 WHERE PID=A.PID for xml path('')) as pns from 表2 A group by PID ) B
- 3 回答
- 0 关注
- 472 浏览
添加回答
举报
0/150
提交
取消