SQL查询求助

Inory丶snow 2019-07-01 04:48:02
想请教一下,SQL查询结果能够一条拆分成多条吗?
目前有这么个需求,查询的结果是设备,但是要的是设备部件,分为AB两种设备,A设备就只有部件a,B设备有12个部件
因此比如我查询结果本来是3条,其中1A2B
需要实际显示结果为
a, b1-1,b1-2,...,b1-12, b2-1,b2-2,...,b2-12这样一共1+12+12,25条数据
请问这样能够直接通过SQL实现吗?


我目前的做法是,SQL还是直接查询3条数据出来,在Controller中进行处理拆分
但是这样有一个问题,就是在分页的时候数据条目有问题,比如我一页数据最多20条,SQL查询出结果是3条,判断所有数据都可以在一页显示,但是我在Controller中处理后数据实际条数为25条,实际一页显示不完
请问这种有什么方法处理吗
...全文
134 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2019-07-01
  • 打赏
  • 举报
回复

create table #bom(item varchar(10),subitem varchar(10))

insert into #bom
 select 'A设备','a' union all
 select 'B设备','1' union all
 select 'B设备','2' union all
 select 'B设备','3' union all
 select 'B设备','4' union all
 select 'B设备','5' union all
 select 'B设备','6' union all
 select 'B设备','7' union all
 select 'B设备','8' union all
 select 'B设备','9' union all
 select 'B设备','10' union all
 select 'B设备','11' union all
 select 'B设备','12' 

create table #r(x varchar(10),item varchar(10))

insert into #r
 select 'a','A设备' union all
 select 'b1','B设备' union all
 select 'b2','B设备'


select items=a.x+'-'+b.subitem
  from #r a
  inner join #bom b on a.item=b.item

/*
items
---------------------
a-a
b1-1
b1-2
b1-3
b1-4
b1-5
b1-6
b1-7
b1-8
b1-9
b1-10
b1-11
b1-12
b2-1
b2-2
b2-3
b2-4
b2-5
b2-6
b2-7
b2-8
b2-9
b2-10
b2-11
b2-12

(25 行受影响)
*/

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧