数据库存储过程的问题 两个字符串截取 然后重新组合

javabuilder9 2008-03-19 10:11:05
从user表读取 RoleListID 结果为1,2

从Role表读取RolistID=1的时候 读取到 list=1,2,3
读取RolistID=2的时候 读取到 list=1,2,4

怎么返回一个值 list=1,2,3,4呢 大家帮帮忙
...全文
164 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidxu1969 2008-03-19
  • 打赏
  • 举报
回复
可以试一下:
select list from role where listID=1 union select listfrom role where listID=2
davidxu1969 2008-03-19
  • 打赏
  • 举报
回复
。。。。。。。。

可以使用聚合查询。
javabuilder9 2008-03-19
  • 打赏
  • 举报
回复
如果读到的 从user表读取 RoleListID 结果为1,2,3,4 那岂不是不能用了
javabuilder9 2008-03-19
  • 打赏
  • 举报
回复
怎么在存储过程里写呢
sunrain_yingxi 2008-03-19
  • 打赏
  • 举报
回复
string str1="1,2,3";
string str2="1,2,4";
string[] arr1=str1.Split(',');
string[] arr2=str2.Split(',');
string str3=str1;
for(int i=0;i<arr2.Length;i++)
{
if(str3.IndexOf(arr2[i])<0)
{
str3+=","+arr2[i];
}
}
str3中存放的就是最后的結果
javabuilder9 2008-03-19
  • 打赏
  • 举报
回复
不太懂 有没有人能给个例子啊
rohan 2008-03-19
  • 打赏
  • 举报
回复
思路:
list1和list2按“,”分割到两个数组A和B。
然后两个数组合成一个数组C,并判断去重复。
C进行冒泡排序。后生成字符串。返回结果。
wzy_love_sly 2008-03-19
  • 打赏
  • 举报
回复
2三角都不结帖?..
wzy_love_sly 2008-03-19
  • 打赏
  • 举报
回复
放过程里
wzy_love_sly 2008-03-19
  • 打赏
  • 举报
回复
create table ## (id varchar(10))

declare @sql1 varchar(8000),@sql2 varchar(8000),@sql3 varchar(8000)
select @sql1='select '+replace('1,2,3',',',' as id union all select ')
select @sql2='select '+replace('1,2,4',',',' as id union all select ')
exec('insert into ## select distinct id from ('+@sql1+' union '+@sql2+')tp')

declare @sql3 varchar(8000)
select @sql3=isnull(@sql3+',','')+id from ##
select @sql3 as '结果'



结果
1,2,3,4

拆分完再合并
javabuilder9 2008-03-19
  • 打赏
  • 举报
回复
帮帮我啊
谢谢大家

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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