特殊情况下以逗号分隔多参照ID,获取其对应的名称

1.通俗情况下,一个字段属性中存储着多个参照其他表的ID ,假定是以逗号进行分隔的,此时我们需要查询出对应的参照名称,此时需要我们如何去做呢?

真实案例:存储多个树种的ID ,查询出对应树种的名称

  一般情况是查询方法是:select  a.TreeTypeName  from  TreeType a where a.TreeTypeID in('1','2','3')

 能够将对应的树种名称进行查询出来。


2、但是,很多实际的情况上面的可能满足不了我们的需求,比如在一些额外的附加条件下面,一些拼接语句和其他语句进行连接的过程中,会受到一些限制,笔者亲身经历,嘻嘻。

在不断的问度娘的过程中,终于找出一个行之有效的方法以此来进行分享和自己以后的使用和学习。主要是用到了sql的一个方法:charindex


select treeName=stuff((select ','+b.TreeTypeName from TreeType b where charindex(','+convert(varchar,b.TreeTypeID),','+a.TreeTypeID)>0 for xml path('')),1,1,'')  from ProjectLandBlockInfo a

  a:   TreeType 是存储的树种的类型及其名称的表格:

   例如    ID        名称

               1         杨树

               2        柳树

               .....

b:  ProjectLandBlockInfo 是实际过程过程中使用的项目,用到的树种类型

例如: ID      树种类型

             1           1,2

              2           1

               .....

    仅此进行总结和学习,有问题可以随时提出进行改进,学习的不深,见谅!




  


  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值