用join连接,用父表id和子表id的一段连接,就能查询出来了,例如select * from( select id,name from tb1 a left join select id,name from tb2 b on a.id=left(b.id,2) )
我这是在一个表中进行操作的! 从别人那里我得到这样一段语句,还请帮忙解释一下这段语句的含义! select t1.DKINDNO,t1.DKINDNAME,t2.DKINDNO,t2.DKINDNAME,t3.DKINDNO,t3.DKINDNAME from (select DKINDNO,DKINDNAME FROM F_THING_KIND WHERE LEN(DKINDNO)=2) t1, (select DKINDNO,DKINDNAME FROM F_THING_KIND WHERE LEN(DKINDNO)=4) t2, (select DKINDNO,DKINDNAME FROM F_THING_KIND WHERE LEN(DKINDNO)=6) t3 where t1.DKINDNO=substring(t2.DKINDNO,1,2) and t2.DKINDNO=substring(t3.DKINDNO,1,4) order by t1.DKINDNO,t2.DKINDNO,t3.DKINDNO
参考:http://www.2cto.com/database/201109/106448.html
求楼上group by 一个给各位看看
select id,name from tb1 a
left join
select id,name from tb2 b
on a.id=left(b.id,2)
)
从别人那里我得到这样一段语句,还请帮忙解释一下这段语句的含义!
select t1.DKINDNO,t1.DKINDNAME,t2.DKINDNO,t2.DKINDNAME,t3.DKINDNO,t3.DKINDNAME
from
(select DKINDNO,DKINDNAME FROM F_THING_KIND WHERE LEN(DKINDNO)=2) t1,
(select DKINDNO,DKINDNAME FROM F_THING_KIND WHERE LEN(DKINDNO)=4) t2,
(select DKINDNO,DKINDNAME FROM F_THING_KIND WHERE LEN(DKINDNO)=6) t3
where t1.DKINDNO=substring(t2.DKINDNO,1,2)
and t2.DKINDNO=substring(t3.DKINDNO,1,4)
order by t1.DKINDNO,t2.DKINDNO,t3.DKINDNO