表字段中存的时id,字段中有多个值,用逗号隔开,如何关联其他表根据id拿到name?

image.png

SQL 柒年呀 发布于 2022-11-15 15:00
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-11-15 15:02(编辑于 2022-11-15 15:07)

oracle?mysql?SqlServer?

-------------

if object_id('tb') is not null drop table tb 

go 

create table tb([编号] varchar(3),[产品] varchar(2),[数量] int,[单价] int,[金额] int,[序列号] varchar(8)) 

insert into tb([编号],[产品],[数量],[单价],[金额],[序列号]) 

select '001','AA',3,5,15,'12,13,14' union all

select '002','BB',8,9,13,'22,23,24'

go 

select [编号],[产品],[数量],[单价],[金额] 

,substring([序列号],b.number,charindex(',',[序列号]+',',b.number)-b.number) as [序列号] 

from tb a with(nolock),master..spt_values b with(nolock) 

where b.number>=1 and b.number<len(a.[序列号]) and b.type='P'

and substring(','+[序列号],number,1)=','

go 

drop table tb 

go 

  • 柒年呀 柒年呀(提问者) sqlserver
    2022-11-15 15:03 
  • 柒年呀 柒年呀(提问者) 显示的name也需要用逗号隔开,不能拆成多行
    2022-11-15 15:04 
  • Z4u3z1 Z4u3z1 回复 柒年呀(提问者) 参考补充的SQL (按逗号拆分序列号)
    2022-11-15 15:08 
  • 1关注人数
  • 210浏览人数
  • 最后回答于:2022-11-15 15:07
    请选择关闭问题的原因
    确定 取消
    返回顶部