易截截图软件、单文件、免安装、纯绿色、仅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根据已知的年月,计算该月的天数.

 本文是一个技巧文章,介绍SQL根据已知的年月,计算该月的天数.
本文是一个技巧文章,介绍SQL根据已知的年月,计算该月的天数.
declare   @iDays   int 
declare   @dt   varchar(50) 
set   @dt=@Year+'-'+@Month+'-01'
select @iDays=day(dateadd( ......

编写SQL查询的关键—SQL语句的执行顺序


【文章标题】编写
SQL
查询的关键—
SQL
语句的执行顺序
【文章作者】曾健生
【作者邮箱】
zengjiansheng1@126.com
【作者
QQ

190678908
【作者
MSN

zengjiansheng1@hotmail.com
【作者博客】
blog.csdn.net/newjueqi
 
*********************************************************** ......

sql创建触发器

 create trigger updatemaster                    //创建触发器名字是 updatemaster
on votedetails                 &nb ......

SQL Server面试题整合

 3。表内容如下
-----------------------------
ID            LogTime
1            2008/10/10 10:00:00
1            2008/10/1 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号