以前只会用select * from查询得到数组再进行for等循环得到想要的结果,但效率实在太低。目前有一个需求需要查询5个表格才能得到想要的结果,还请各位大侠不吝赐教,多谢!
问题描述:
我要得到表格A里面值为-1的数据在E表格里面的名称Table,怎么写select语句?
对应关系:
A的PID =B的OID
B PID = C OID
C PID = D OID
D PID = E OID
表 oid pid wait Name
A 1 2 -1
B 2 3
C 3 4
D 4 5
E 5 Table
目前我只会单表格查询操作,如主贴问题我用的是
Select oid,pid,lWaitTime from SIPLACEPro.dbo.CFeederOffset where lWaitTime = -1
要按照我以前的思路只能接下来不停的把几个表格的数据读成数据然后不断的用for循环比较,小数据库还好,大一点的就很慢了!
已经在高手的指导下搞定了,多谢各位关注。
附上代码:
Select AliasName.ObjectName from CFeederOffset,CTapeReserve,CTapeFeeder,CTrackArea,AliasName where CFeederOffset.lWaitTime = 123 and CFeederOffset.pid=CTapeReserve.OID and CTapeReserve.PID=CTapeFeeder.OID and CTapeFeeder.PID=CTrackArea.OID and CTrackArea.PID = AliasName.PID