数据库
表 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 的全部记录