当前位置:首页 » 编程语言 » sql关联表update

sql关联表update

发布时间: 2023-02-17 19:31:35

⑴ update sql 两个关联的表

一、当用一个表中的数据来更新另一个表中的数据,T-SQL提供多种写法(下面列出了二种),但建议用第一种写法,虽然传统,但结构清晰。
并且要注意,当用一个表中的数据来更新另一个表中的数据时,二个表一定要有关联!
1.
update t1
set t1.c2 = t2.c2
fro m t2
where t1.c1 = t2.c1
2.
Update t1
set t1.c2 = t2.c2
fro m t1 inner join t2
on t1.c1 = t2.c1
二、FROM 子句中指定的表的别名不能作为 SET column_name 子句中被修改字段的限定符使用。
例如,下面的内容无效:
UPDATE titles
SET t.ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
若要使上例合法,请从列名中删除别名 t 或使用本身的表名。
1.
UPDATE titles
SET ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
2.
UPDATE titles
SET titles.ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)

⑵ 请教sql语句 如何实现关联表字段更新

UPDATE多表更新(转)(2008-05-12 15:29:04)
转载标签:update多表更新sql 分类:php网络编程
在开发中,数据库来回换,而有些关键性的语法又各不相同,这是一件让开发人员很头痛的事情.本文总结了Update语句更新多表时在SQL Server,Oracle,MySQL三种数据库中的用法.我也试了SQLite数据库,都没成功,不知是不支持多表更新还是咋的.

在本例中: 我们要用表gdqlpj中的gqdltks,bztks字段数据去更新landleveldata中的同字段名的数据,条件是当 landleveldata 中的GEO_Code字段值与gdqlpj中的lxqdm字段值相等时进行更新.

SQL Server语法:UPDATE { table_name WITH ( < table_hint_limited > [ ...n ] ) | view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [ ,...n ] { { [ FROM { < table_source > } [ ,...n ] ] [ WHERE < search_condition > ] } | [ WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } [ OPTION ( < query_hint > [ ,...n ] ) ]

SQL Server示例: update a set a.gqdltks=b.gqdltks,a.bztks=b.bztks from landleveldata a,gdqlpj b where a.GEO_Code=b.lxqdm

Oracle语法: UPDATE updatedtable SET (col_name1[,col_name2...])= (SELECT col_name1,[,col_name2...] FROM srctable [WHERE where_definition])

Oracel 示例: update landleveldata a set (a.gqdltks, a.bztks)= (select b.gqdltks, b.bztks from gdqlpj b where a.GEO_Code=b.lxqdm)

MySQL语法: UPDATE table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

MySQL 示例: update landleveldata a, gdqlpj b set a.gqdltks= b.gqdltks, a.bztks= b.bztks where a.GEO_Code=b.lxqdm

⑶ SQL update 的更新值来源于另外一个表,如何实现

1、创建两个测试表,

createtabletest_up_a(idnumber,valuevarchar2(100));

createtabletest_up_b(idnumber,valuevarchar2(100));

2、分别往两个表中插入数据;

insertintotest_up_avalues(1,'A1');

insertintotest_up_avalues(2,'A2');

insertintotest_up_avalues(3,'A3');

insertintotest_up_avalues(4,'A4');

insertintotest_up_avalues(5,'A5');

insertintotest_up_avalues(6,'A6');

insertintotest_up_bvalues(1,'BBBB1');

insertintotest_up_bvalues(2,'BBBB2');

insertintotest_up_bvalues(5,'BBBB5');

commit;

3、分别查看两个表中数据;

select'TBL_A',t.*fromTEST_UP_At

unionall

select'TBL_B',t.*fromTEST_UP_Bt


4、执行更新脚本,可以发现TEST_UP_A.VALUE值已变化;

updateTEST_UP_At

sett.value=

(selectb.value

fromTEST_UP_Bb

wheret.id=b.id

andrownum=1)


⑷ SQL两个关联表update select查询结果

updatepriceimacsetpriceimac.数量=t.totalCuntfrom(selecta.imac项目,a.累计+b.数量astotalCuntfrompriceimaca,(selectIMAC,sum(convert(int,数量))数量fromtemp1whereusername='aaa'groupbyimac)bwherea.imac项目=b.imac)ast

⑸ SQL 中UPDATE用法

Update是一个数据库SQL语法用语,用途是更新表中原有数据,单独使用时使用where匹配字段。

语法为:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

例如:Update table_name Set column_name = new_value Where column_name = some_value

(5)sql关联表update扩展阅读

update使用注意事项:

1、sp_updatestats可以更新统计信息到最新。

2、低内存会导致未被客户端连接的查询计划被清除。

3、修改表结构,修改索引后,查询计划会被清除,可以再修改后运行几遍查询。

4、使用update时候,order by 会影响查询速度,where中使用函数则会调用筛选器进行扫描,扫描表要尽量避免。

参考资料来源:网络—update

⑹ 多表关联UPDATE语句怎么写呀

update A,B set A.sj1=B.sj2
where
a.hm1=b.hm1
新手,不知道这样写对不对。

⑺ 数据库:更新表需关联到其它表的update语句怎么写

update 用户余额表 a,银行货币表 b,银行表 c
set a.余额=0
where a.b_id=b.id and b.银行id=a.银行id and a.银行名='a';

⑻ SQL语句UPDATE 多表关联的

语句没有语法错误,你用的什么数据库?
有些很早期的数据库,或者是很简单的数据库是不支持多表查询的,比如access97等
你这个在执行的时候有报错吗,你能把执行后的日志打出来吗?

热点内容
ftp文件注释 发布:2024-11-08 09:20:06 浏览:169
大疆上传视频 发布:2024-11-08 09:19:58 浏览:637
cwebservice文件上传 发布:2024-11-08 09:09:18 浏览:583
王牌战争有没有什么和平的服务器 发布:2024-11-08 09:01:36 浏览:374
centos7删除文件夹 发布:2024-11-08 09:00:58 浏览:990
服务器可以分成多个独立的电脑吗 发布:2024-11-08 08:56:15 浏览:202
如何运行gcc编译的文件 发布:2024-11-08 08:51:49 浏览:498
javaztree 发布:2024-11-08 08:50:55 浏览:510
苹果手机怎么能玩安卓版腾讯游戏 发布:2024-11-08 08:50:55 浏览:523
ftp推送 发布:2024-11-08 08:49:46 浏览:751