关于SQL的一个小知识点

今天在写SQL时,突然就遇到了一个棘手的问题,如下:

有A、B、C三个表,目的是通过某个参数去访问A表,获取数据之后再经过B表,最后获取C表中的数据,请问这个SQL应该怎么写?我的瓶颈是如果B表中有多条数据应该怎么办呢?

先来看看我之前的SQL吧:
select func_code,func_name from func_dic where func_code =
(
select func_code from MDSP_USER_FUNC_ALLOC where staff_id =
(
select staff_id from staff where login_name=''
))

在此SQL中“select func_code from MDSP_USER_FUNC_ALLOC ”所查出的数据可能会有多条,因此,后面直接用“=”肯定会报错。那应该怎么办呢,我先前想到的解决办法是能不能找到遍历结果集的SQL。可惜找了大半天还是没点头绪,最后,在找SQL文档时,发现只要用一个“in”即可解决!哈哈……原来如此“so easy”!

posted on 2011-11-01 18:30  指尖上的行者  阅读(193)  评论(2)    收藏  举报

导航