专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 高性能数据库开发

SQL语句 有点复杂

发布时间:2010-05-24 21:18:30 文章来源:www.iduyao.cn 采编人员:星星草
求一个SQL语句 有点复杂
表结构如下 
classid portname code flag portid 
331003010117 三门 331022 NULL 99 
331003010119 黄岩 331003 NULL 01 
331003010120 汕头 331022 NULL 99 
331003010122 黄岩 331003 NULL 01 
331003010123 上海 3101 NULL 99 
331003010125 黄岩 331003 NULL 01 
331003010126 上海 3101 NULL 99 
331003010128 黄岩 331003 NULL 01 

说明这个是个线路 站点表 
classid是线路 portname是站点 code是站点的编码 portid 是站点的次序 
现在想写个存储过程 code1和code2是参数传入 把符合一个classid同时有code1到code2的线路列出来 并且code1对应的portid要小于code2对应的portid

------解决方案--------------------
一个语句就可以搞定了吧:
假设你的表名是tb_name:

select a.*,b.* from tb_name a, tb_name b where a.code='code1值' and b.code='code2值' and a.classid=b.classid and a.portid<b.portid

你试下吧
------解决方案--------------------
select a.classid from(select classid,portid from TABLE where code=@code1)as a left join(select classid,portid from TABLE where code=@code2)as b on a.classid=b.classid where a.portid<b.portid
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: