数据库
表   nodes
字段 no   Name
    001    a1
    002    a2
    003    a3
    004    a4
表 employe
字段 no   Name
     01    b1
表   ordertrack
字段 Order_id OperDT OperNode NextNode Operator Descr
        1     21:00   001                01       1
        1     22:00   001      002       01       2
        1     23:00   002                01       1 
        1     00:00   002      003       01       2
其中 nodes.No=ordertrack.OperNode employe.No=ordertrack.Operator
     nodes.No=ordertrack.NextNode
就是说  ordertrack 表里的 OperNode 和 NextNode取的值都是nodes表里的No字段
通过查询 Order_id 并且判断 Descr 的值
得到
Order_id  OperDT    Nodes.name
   1      21:00     a1 (Descr=1 调取OperNode对应的Nodes.name)
          22:00     a2 (Descr=2 调取OperNode对应的
          23:00     a2 (Descr=1 调取OperNode对应的
          00:00     a3 (Descr=2 调取OperNode对应的            
现在的SQL语句是这样写的
select Order_id,OperDT,Descr,a.name as bname,b.name as dname,OperNode,NextNode,employe.name as cname,employe.tel as ctel from ordertrack,employe,nodes a,nodes b where a.No=ordertrack.OperNode and b.No=ordertrack.NextNode and employe.No=ordertrack.Operator and Order_id= "+si
这样写 where a.No=ordertrack.OperNode and b.No=ordertrack.NextNode and employe.No=ordertrac......  要同时满足 a.No=ordertrack.OperNode 和b.No=ordertrack.NextNode  但由于表里NextNode有时为空  所以查询出来结果不全
怎样写只满足这两个任一条件即可?或者其他办法怎样进行查询得到这个结果
我写成 where (a.No=ordertrack.OperNode or b.No=ordertrack.NextNode) and employe.No=ordertrac...... 查询出来竟然是 nodes 里面 name 的全部记录

 
											





 
	    
