首页 新闻 搜索 专区 学院

SQL查询问题

0
悬赏园豆:20 [待解决问题]

select a.rjid from RPT_CATEGORY_SCHOOL as a
where a.nd=(select res from xt_cssz where rjid=a.rjid and mc='nd' and lx='Init')
group by rjid

在子查询中 有个 rjid=a.rjid 我不太明白 这个a.rjid 是取的a表的 哪一行 作为条件

一般情况 都是将 条件设置为变量 比如

select a.rjid from RPT_CATEGORY_SCHOOL as a where a.nd=2011 group by rjid

求高手解释下

 

问题补充: 那最后到底取的是a表的哪一行的 rjid呢
T.T的主页 T.T | 初学一级 | 园豆:180
提问于:2010-11-25 22:07
< >
分享
所有回答(3)
0

这个相关子查询,相当于 RPT_CATEGORY_SCHOOL 中 rjid 的每一个数值都要和  xt_cssz 表中的 rjid 进行一次匹配。

killkill | 园豆:992 (小虾三级) | 2010-11-25 22:22
0

只要符合res.rjid=RPT_CATEGORY_SCHOOL.rjid都会及进行匹配,比如:

RPT_CATEGORY_SCHOOL             res

rjid                                               rjid

1                                                   1

2                                                   1

3                                                   1

左边的rjid   1,2,3   都分别会跟右边的rjid  1,1,1进行匹配..这样匹配次数就为3*3

三桂 | 园豆:3565 (老鸟四级) | 2010-11-25 23:10
0

SELECT * FROM #tb1 a WHERE a.id IN
( SELECT TOP 2 ID FROM #tb1 WHERE type=a.type ORDER BY Click DESC)

请问这条SQL是怎么进行匹配的。执行机制是什么

彬彬@科比 | 园豆:43 (初学一级) | 2012-05-30 17:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册