用的是sql server 2008,我现在写了一个多层嵌套的sql
我现在写了一个8层嵌套的sql,这8个嵌套中都用到了同一个表orgstdstru,我给这个表定义的别名都是org,selectdistinctorg.idfromorgs...
我现在写了一个8层嵌套的sql,这8个嵌套中都用到了同一个表orgstdstru,我给这个表定义的别名都是org,
select distinct org.id
from orgstdstru org --- 第一次
join ATDAD ad
on org.ID = ad.ID
left join
( select org.ID
from orgstdstru org ---第二次
join ATDAD ad
on org.ID = ad.ID
) as ac1
……
where org.day > '20130220'
问题1,多个嵌套存在的情况下,同一个表用同一个别名行不行?不要告诉我不好维护或者不好区别,我现在想知道这么做对结果会不会有影响?
问题2,where org.day 中org是第一次出现的,还是第二次出现的?还是最后面出现的?
问题一,应该是问:在同一个sql,多个嵌套中同一个表用同一个别名,对结果会不会产生影响。
同一个表可以用同一个名我知道,问错了,重点是问对结果的影响。我不确认,多个嵌套下,用同一个别名,系统如何来区分你用的是这个表中的哪个结果。
比如有三个嵌套,第一个嵌套是通过天数从表a中取出来10条数;
第二个嵌套通过日期从表a中取出20条数据;
那第三个嵌套时,又用到表a了,比如取a.id,那系统怎么区分是从第一个嵌套来的,还是第二个来的,还是第三个来的?通过"()"吗? 展开
select distinct org.id
from orgstdstru org --- 第一次
join ATDAD ad
on org.ID = ad.ID
left join
( select org.ID
from orgstdstru org ---第二次
join ATDAD ad
on org.ID = ad.ID
) as ac1
……
where org.day > '20130220'
问题1,多个嵌套存在的情况下,同一个表用同一个别名行不行?不要告诉我不好维护或者不好区别,我现在想知道这么做对结果会不会有影响?
问题2,where org.day 中org是第一次出现的,还是第二次出现的?还是最后面出现的?
问题一,应该是问:在同一个sql,多个嵌套中同一个表用同一个别名,对结果会不会产生影响。
同一个表可以用同一个名我知道,问错了,重点是问对结果的影响。我不确认,多个嵌套下,用同一个别名,系统如何来区分你用的是这个表中的哪个结果。
比如有三个嵌套,第一个嵌套是通过天数从表a中取出来10条数;
第二个嵌套通过日期从表a中取出20条数据;
那第三个嵌套时,又用到表a了,比如取a.id,那系统怎么区分是从第一个嵌套来的,还是第二个来的,还是第三个来的?通过"()"吗? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询