假如有两张表A、B
A中有两列数据,列名分别是BH1、201005(列201005为空)
B中有两列数据,列名分别是BH2、ggg(列ggg中有值)
A中BH1等于B中BH2时,要使A中201005取B中ggg的值,如何实现?
A中有两列数据,列名分别是BH1、201005(列201005为空)
B中有两列数据,列名分别是BH2、ggg(列ggg中有值)
A中BH1等于B中BH2时,要使A中201005取B中ggg的值,如何实现?
解决方案 »
- 高人来看,这两个约束的区别
- 问一个比较复杂的问题,希望大家帮忙
- 今天面试的题目,可以说很难也可以说很容易,请有兴趣的朋友帮忙测试。
- TOP N 和SET ROWCOUNT N的区别是什么
- 讨厌的外连接!!!
- 创建数据库中的某表的事物或快照服务后不能对表进行更新的问题
- 关于上下级汇总的,先举一个简单点的例子.
- 将 varchar 转换为数据类型 numeric 时出现算术溢出错误。
- 我将.txt导入SQL Server 2000,中文数据均显示为乱码,是什么原因,请赐教
- 如何将某个字段的记录和成字符串输出
- 求一SQL语句
- 服务器名称[192.168.80.200\KQ]是这样子在其它服务器上访问它
a
set
[201005]=n.ggg
from
a,b
where
a.bh1=b.bh2
update
a
set
[201005]=b.ggg
from
a,b
where
a.bh1=b.bh2不能用a.[201005]
IF OBJECT_ID('[a]') IS NOT NULL
DROP TABLE [a]
GO
CREATE TABLE [a] ([BH1] [nvarchar](10),[201005] [nvarchar](10))
INSERT INTO [a]
SELECT '001',NULL UNION ALL
SELECT '002',NULL--> 生成测试数据表: [b]
IF OBJECT_ID('[b]') IS NOT NULL
DROP TABLE [b]
GO
CREATE TABLE [b] ([BH2] [nvarchar](10),[ggg] [nvarchar](10))
INSERT INTO [b]
SELECT '001','tony' UNION ALL
SELECT '002','小F'
-->SQL查询如下:
update a set a.[201005]=b.ggg from b where a.bh1=b.bh2SELECT * FROM [a]
/*
BH1 201005
---------- ----------
001 tony
002 小F(2 行受影响)
*/我测给你看
只要你把a表中的201005字段的外键值设置为b表中的ggg字段就可以了!
from A,B
where A.BH1 = B.BH2