注册 登录
编程论坛 SQL Server论坛

求教一个sql语句的问题!

zhouhouyang01 发布于 2011-09-16 14:36, 878 次点击
select * from
(
select 表A.*
from 表A
where 表A.FLAG = 1
)
TEST
where ID in
(      
select BH from 表B
         left outer join
         表C on 表BL.SPR = 表C.USERID
         where 表C.SSGS = '001' and 表C.BM = '001'
         AND (表B.BZ IS NULL or 表B.PBZ=''))
这个sql 语句   没有 TEST这个表   为什么要加上这个才能实现我想要查询的结果!谢谢! 给我解释一下这个的用法。
5 回复
#2
scilent2011-09-16 16:04
没见过这种用法,是不是自定义的
#3
w1230123062011-09-19 09:12
这 我又点补懂
#4
lixixixxx2011-09-19 11:18
第一个子查询位置不对吧
#5
tangyunzhong2011-09-20 09:21
以下是引用zhouhouyang01在2011-9-16 14:36:07的发言:

select * from  
(
select 表A.*
from 表A
where 表A.FLAG = 1  
)
TEST
where ID in
(        
select BH from 表B  
         left outer join
         表C on 表BL.SPR = 表C.USERID
         where 表C.SSGS = '001' and 表C.BM = '001'
         AND (表B.BZ IS NULL or 表B.PBZ=''))
这个sql 语句   没有 TEST这个表   为什么要加上这个才能实现我想要查询的结果!谢谢! 给我解释一下这个的用法。
TEST是由第一个子查询生成,
#6
暗尘2011-09-20 14:45
(select 表A.* from 表A where 表A.FLAG = 1 ) as  TEST   这样子看得懂么 这个是括号里面的那个表的别称
               
1