易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL 使用

对问题的理解是解决问题的前提,今天遇到一个项目中的问题让我深刻的体会到这一点。
两个表:
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 2005 对xml 文件与 xml数据的操作

 由于数据库对xml数据直接处理有很多优势,05也对这方面加强了功能。
        但这方面资料少,所以自己做了一些总结,希望会给大家带来帮助
        --charry0110(晓风残月)
         --作者:陈 ......

SQL Serve 2000 的四种系统数据库

 master 数据库
master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master 数据库记录 SQL Server 的初始化信息,它始终有一个可用的最新 master 数据库备份。由于master数据库对SQL S ......

数据库菜鸟不可不看 简单SQL语句小结

 为了大家更容易理解我举出的SQL语句,本文假定已经建立了一个学生成绩管理数据库,全文均以学生成绩的管理为例来描述。
  1.在查询结果中显示列名:
  a.用as关键字:select name as '姓名' from students order by age
  b.直接表示:select name '姓名' from students order by age
  2.精确查找:
  ......

AMD 三核处理器安装SQL Server2005出错处理解决方案。

     最近学SQL Server2005,下载了SQL2005中文开发版,但是同学们都安装上了,唯独我的机器安装不上。
     每次安装DATABASE的时候都提示无法启动sqlservr.exe服务无法启动,重装系统也不行,WINXP WIN 7下面都无法安装,于是上网查了下,原来SQL2005不支持3核处理器,微软也自 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号