select l.linkid,n.nodename,n.nodename from links l,nodes n where l.enternodeid=n.nodeid and l.exitnodeid=n.nodeid and l.linkid=1
这个SQL语句查询的时候不报错,也不现实数据
还有就是l.enternodeid=n.nodeid and l.exitnodeid=n.nodeid 是这样的 两个字段要根据一个字段查询不同的数据
例如:表1 enternodeid exitnodeid 表2 nodeid nodename
1 2 1 未央路立交
3 2 2 太白路立交
3 含光路
怎么办?
这个SQL语句查询的时候不报错,也不现实数据
还有就是l.enternodeid=n.nodeid and l.exitnodeid=n.nodeid 是这样的 两个字段要根据一个字段查询不同的数据
例如:表1 enternodeid exitnodeid 表2 nodeid nodename
1 2 1 未央路立交
3 2 2 太白路立交
3 含光路
怎么办?
l.enternodeid=n.nodeid and l.exitnodeid=n.nodeid
改成
l.enternodeid=n.nodeid or l.exitnodeid=n.nodeid
1 2 1 未央路立交
3 2 2 太白路立交
3 含光路
好像不对啊,给成上面写的那样,就会把所有的信息显示出来了,我只显示linkid=1的数据
(
linkid 编号
enternodeid 起始路段编号
exitnodeid 终止路段标号
)
表2:nodes
(
nodeid 路段编号
nodename 路段名称
)
enternodeid、exitnodeid的编号和nodeid的编号有关
根据linkid查询 起始路段名称,终止路段名称
select linkid,
(select max(nodename)from nodes n where l.enternodeid = n.nodeid),--起始路段名称
(select max(nodename)from nodes n where l.exitnodeid = n.nodeid)--终止路段名称
from links l
from links l, nodes n, nodes m
where l.enternodeid = n.nodeid
and l.exitnodeid = m.nodeid
and l.linkid = 1