SQL 使用-Update table
来源:互联网 发布:淘宝答题链接 编辑:程序博客网 时间:2024/06/01 09:15
对问题的理解是解决问题的前提,今天遇到一个项目中的问题让我深刻的体会到这一点。
两个表:
T1
Term Domain WithAncestor
car x.com ?
bike y.com ?
car a.x.com ?
T2
Parent Domain
x.com a.x.com
求出T1中的WithAncestor的值。
设初始化为0,下面的做法是我的第一个版本:
Update T1 set WithAncestor=1
where Domain in
( select Domain
from T1 join T2 on T1.Domain=T2.Domain
join T1 B on T2.Parent=T1.Domain and T1.Term=B.Term)
)
这种解法的意思就是说:如果一个domain的父Domain也出现在表中,那么它的WithAncestor为1.
这种做法是错误,正确的方法应该是:如果一个keyWord出现在一个domain上,并且这个Keyword也出现在它的父亲domain上,那么withAncestor为1.
基于这种思想,正确的写法是:
Update T1
set WithAncestor=1
from T1 join T2 on T1.domain=T2.domain
join T1 B on T2.parent=B.domain and T1.term=B.term
这个写法会将T1中满足from的那些行改成对应的值。
- SQL 使用-Update table
- sql update two table
- sql cursor update a table by another table
- update table with temprary table
- sql server UPDATE 多表关联 使用
- 【SQL】 delete update中使用inner join
- SQL Update 语句中使用别名
- SQL中使用update inner join
- sql 的update中使用case when
- SQL SERVER Update from 使用陷阱
- jpa使用原生SQL update和insert
- sql update set使用case when语句
- SQL 使用update case when 批量更新
- sqlite3 update table
- SQL Update
- sql update
- sql update
- SQL UPDATE
- ASP.NET大数据量查询分页例子
- 最近开始学习Java
- 复制文件夹
- Firefox收藏集
- XFire的应用:1、配置
- SQL 使用-Update table
- 英语学习者不容错过的100部校园浪漫电影
- ireport 安装错误
- UltraEdit正则查找替换
- asp.net2.0学习历程 菜鸟到中级程序员的飞跃
- Javascript中最常用的55个经典技巧
- Win7虚拟XP模式---Win7下安装Tornado
- DWR的搭建及简单使用
- 捕获异常然后抛出另一个异常发生了什么?