Update 两个表之间数据更新
2011-06-25 00:10
337 查看
一、当用一个表中的数据来更新另一个表中的数据,T-SQL提供多种写法(下面列出了二种),但建议用第一种写法,虽然传统,但结构清晰。
并且要注意,当用一个表中的数据来更新另一个表中的数据时,二个表一定要有关联!
1.
update t1
set t1.c2 = t2.c2
from t2
where t1.c1 = t2.c1
2.
Update t1
set t1.c2 = t2.c2
from 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)
并且要注意,当用一个表中的数据来更新另一个表中的数据时,二个表一定要有关联!
1.
update t1
set t1.c2 = t2.c2
from t2
where t1.c1 = t2.c1
2.
Update t1
set t1.c2 = t2.c2
from 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)
相关文章推荐
- Update 两个表之间数据更新 (转)
- Update 两个表之间数据更新
- Update 两个表之间数据更新
- Update 两个表之间数据更新
- Update 两个表之间数据更新
- Update 两个表之间数据更新
- Update 两个表之间数据更新
- Update 两个表之间更新数据问题
- Update 两个表之间数据更新
- 两个页面之间更新数据
- 关于两个表更新数据的问题(update)
- 关于两个表更新数据的问题(update)
- sql server 中两个关联表之间更新数据
- SQL脚本实现两张关联数据表之间批量更新UPDATE
- sqlplus使用copy命令在两个数据库之间更新数据
- Android开发之---两个Activity之间利用广播机制更新数据
- Oracle 两个表之间的数据更新
- mysql update 两个表关联{两个关联表如何更新其中一个表的数据}
- bootstrap-table实现两个表格之间数据的传递,表格添加行删除行功能
- sql获取不规则日期两个'-'之间的数据