注册 登录
编程论坛 SQL Server论坛

SQL如何将A表中代码按B表的已知项翻译,详见附件,谢谢指教!

tigerken 发布于 2012-06-29 17:05, 727 次点击
只有本站会员才能查看附件,请 登录
9 回复
#2
png2012-06-29 21:32
差太多了.
#3
netlin2012-06-29 22:54
使用Replace()函数,配合Update语句进行替换。
#4
tigerken2012-07-01 16:24
还是不明白,能说详细点吗?
#5
png2012-07-02 21:53
A表违反了相关数据库设计的最基本原则. 应该考虑成类似 -

ID 代码
1  102
1  105
2  102
3  203
4  105
4  203

#6
tigerken2012-07-03 21:16
楼上,其实用B表对应A表翻译是一样的,是吗?
#7
shangxisen2012-07-05 09:13
select REPLACE(REPLACE(REPLACE(a,'102','风'),'105','雪'),'203','雷') from
(select  '102|105' a
union all
select '102' a
union all
select '203' a
union all
select '105|203' a) table1
#8
shangxisen2012-07-05 09:15

select a, REPLACE(REPLACE(REPLACE(a,'102','风'),'105','雪'),'203','雷') from
(select  '102|105' a
union all
select '102' a
union all
select '203' a
union all
select '105|203' a) table1
#9
netlin2012-07-06 09:07
回复 8楼 shangxisen
看了有些额外的收获!
8楼 shangxisen 的 union 用得很好啊!

不过,用三层Replace来解决楼主的问题,可能执行效率不会太高,且程序的通用性受到限制了。
仅仅是交流,8楼 shangxisen别在意!
#10
tigerken2012-07-08 12:37
谢谢8楼回复,如果A\B表不是确定的值,常变化,该如何解决?
1