公交线路主表way 线路id(wayid) 线路名称(wayname) 备注
1 100
2 200
3 300
4 500
线路明细表waydetail 公交站id(waydetail ) 站名(waydetailname) 线路id(wayid) 顺序(SEQ) 备注
20 A01 1 1
21 A02 1 2
22 A03 1 3
23 A04 1 4
24 B01 2 1
25 B02 2 2
26 B03 2 3
27 B04 2 4
28 B05 2 5 现在已经知道 站名一(如A01) ,站名二(A02) ,线路id ,
判断 线路id同时存在站名一和站名二 目前自己也写出了sql :
select * from (
select A01 from dual
union
select A01 from dual )
intersect
select waydetailname from waydetail where wayid = 线路id ,
如果查询有记录 表示这样线路存在。另外还有方式 select A.wayid from waydetailname a ,waydetailname b
where A.wayid = 线路id and
A.wayid =B.wayid and A.waydetailname ='A01' and B.waydetailname ='A02'
目前用后面的一种,
不知道还有其他更为简单的方法吗
1 100
2 200
3 300
4 500
线路明细表waydetail 公交站id(waydetail ) 站名(waydetailname) 线路id(wayid) 顺序(SEQ) 备注
20 A01 1 1
21 A02 1 2
22 A03 1 3
23 A04 1 4
24 B01 2 1
25 B02 2 2
26 B03 2 3
27 B04 2 4
28 B05 2 5 现在已经知道 站名一(如A01) ,站名二(A02) ,线路id ,
判断 线路id同时存在站名一和站名二 目前自己也写出了sql :
select * from (
select A01 from dual
union
select A01 from dual )
intersect
select waydetailname from waydetail where wayid = 线路id ,
如果查询有记录 表示这样线路存在。另外还有方式 select A.wayid from waydetailname a ,waydetailname b
where A.wayid = 线路id and
A.wayid =B.wayid and A.waydetailname ='A01' and B.waydetailname ='A02'
目前用后面的一种,
不知道还有其他更为简单的方法吗
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货