| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 602 人关注过本帖
标题:字段替换的三种实现
取消只看楼主 加入收藏
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
 问题点数:0 回复次数:1 
字段替换的三种实现

要求把表b的数字改成表a对应id的name
if object_id('a') is not null
drop table a
go
create table a( id int,name varchar(10))
insert into a select 1,'a'
insert into a select 2,'b'
insert into a select 3,'c'
insert into a select 4,'d'
go
if object_id('b') is not null
drop table b
go
create table b(id1 int,id2 int)
insert into b select 1,2
insert into b select 3,4
go

select * from a
select * from b

create function dbo.fn(@id int)
returns nvarchar(10)
as
begin
declare @name nvarchar(10)
select @name=name from a where id=@id
return @name
end
go

select dbo.fn(id1) as name1,dbo.fn(id2) as name2 from b
Result
name1 name2
---------- ----------
a b
c d

(所影响的行数为 2 行)

select (select name from a where id=id1) as name1,(select name from a where id=id2) as name2 from b
Result
name1 name2
---------- ----------
a b
c d

(所影响的行数为 2 行)
select a1.name as name1,a2.name as name2 from a a1,a a2,b where a1.id=b.id1 and a2.id=b.id2
Result
name1 name2
---------- ----------
a b
c d


(所影响的行数为 2 行)


drop table a
go
drop tabl b

[此贴子已经被作者于2007-4-2 13:52:12编辑过]

搜索更多相关主题的帖子: 字段 
2007-04-02 11:38
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 

没人顶


26403021 sql群 博客 blog./user15/81152/index.shtml
2007-04-02 12:34
快速回复:字段替换的三种实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040180 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved