求助:关于将 多表的某一列数据的字段 转成 例外一个表的一字字段 以文本显示出来

maomaohao3 2009-03-28 10:57:09
例如:
表A 表B 表C
sn1 contect1 sn2 conect2 help
1 你好 1 可以的 你好/很好/一般情况/是还可以/确实不错/可以的/你好嘛
2 很好 + 2 你好嘛 转成
3 一般情况
4 是还可以
5 确实不错



也就是说通过A和B里面的CONECT字段内容相结合成C表的字段help中 ,并以文本形式显示出来
...全文
48 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
maomaohao3 2009-04-22
  • 打赏
  • 举报
回复
哈哈 顶一下
maomaohao3 2009-04-22
  • 打赏
  • 举报
回复
create table A(sn1 int, contect1 varchar(10))
create table B(sn2 int, contect2 varchar(10))
insert into a values(1 , '你好')
insert into a values(2 , '很好')
insert into a values(3 , '一般情况')
insert into a values(4 , '是还可以')
insert into a values(5 , '确实不错')
insert into b values(1 , '可以的')
insert into b values(2 , '你好嘛')
create table c(help varchar(100))
go

declare @output1 varchar(8000)
select @output1 = coalesce(@output1 + '/' , '') + contect1 from a
declare @output2 varchar(8000)
select @output2 = coalesce(@output2 + '/' , '') + contect2 from b

insert into c values( @output1 + '/' + @output2)

select * from c

drop table a , b , c




上面的情况,还有个问题是 如果@autput1为空的时候 那么最终就没有结果了 但是@output2有包换有字段

所有还可不可以再写一下 当@output1不管有没有值 他都会得到结果出来
maomaohao3 2009-03-28
  • 打赏
  • 举报
回复
哈哈 一般了 我是初学者
dawugui 2009-03-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 maomaohao3 的回复:]
哈哈 谢谢 十分的感谢
[/Quote]可以结了,最后问的东西不要让人看到,被笑话了.
maomaohao3 2009-03-28
  • 打赏
  • 举报
回复
哈哈 谢谢 十分的感谢
dawugui 2009-03-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 maomaohao3 的回复:]
print @output1 + '/' + @output2


可以不将打印出来 转到C表help字段上去呢 帮忙再写写哈
[/Quote]

create table A(sn1 int, contect1 varchar(10))
create table B(sn2 int, contect2 varchar(10))
insert into a values(1 , '你好')
insert into a values(2 , '很好')
insert into a values(3 , '一般情况')
insert into a values(4 , '是还可以')
insert into a values(5 , '确实不错')
insert into b values(1 , '可以的')
insert into b values(2 , '你好嘛')
create table c(help varchar(100))
go

declare @output1 varchar(8000)
select @output1 = coalesce(@output1 + '/' , '') + contect1 from a
declare @output2 varchar(8000)
select @output2 = coalesce(@output2 + '/' , '') + contect2 from b

insert into c values( @output1 + '/' + @output2)

select * from c

drop table a , b , c

/*
help
----------------------------------------------------------------------------------------------------
你好/很好/一般情况/是还可以/确实不错/可以的/你好嘛

(所影响的行数为 1 行)
*/
maomaohao3 2009-03-28
  • 打赏
  • 举报
回复
print @output1 + '/' + @output2


可以不将打印出来 转到C表help字段上去呢 帮忙再写写哈
htl258_Tony 2009-03-28
  • 打赏
  • 举报
回复
老D,那个coalesce好像很少见到,从哪搬出来的,学习
dawugui 2009-03-28
  • 打赏
  • 举报
回复
create table A(sn1 int, contect1 varchar(10))
create table B(sn2 int, contect2 varchar(10))
insert into a values(1 , '你好')
insert into a values(2 , '很好')
insert into a values(3 , '一般情况')
insert into a values(4 , '是还可以')
insert into a values(5 , '确实不错')
insert into b values(1 , '可以的')
insert into b values(2 , '你好嘛')
go

declare @output1 varchar(8000)
select @output1 = coalesce(@output1 + '/' , '') + contect1 from a
declare @output2 varchar(8000)
select @output2 = coalesce(@output2 + '/' , '') + contect2 from b

print @output1 + '/' + @output2

drop table a , b

/*
你好/很好/一般情况/是还可以/确实不错/可以的/你好嘛
*/
htl258_Tony 2009-03-28
  • 打赏
  • 举报
回复
比我预料的还快
htl258_Tony 2009-03-28
  • 打赏
  • 举报
回复
小梁在的话肯定出招的
liangCK 2009-03-28
  • 打赏
  • 举报
回复
DECLARE @re VARCHAR(8000);
SET @re='';

SELECT
@re=@re+contect1+'/'
FROM tbA

SELECT
@re=@re+conect2+'/'
FROM tbB

SET @re=LEFT(@re,LEN(@re)-1);

SELECT @re

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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