现在我做了一张公交车线路表,线路名ID,站点名STATION1,STATION2,STATION3......
我想找出任意两条线路相同的站点名,有什么好的SQL语言实现吗?

解决方案 »

  1.   

    select top 2 distinct STATION1,STATION2,STATION3, ..., STATIONn from table
      

  2.   

    select top 2 distinct STATION1,STATION2,STATION3, ..., STATIONn from table
    这条语句查找出的只是不同的站点名吧,我需要的是相同的站点名呀
      

  3.   

    select * from table group by STATION
      

  4.   

    我给你解答吧
    1.你的表建得不对,属于自找麻烦。照你的做法:tbl(线路名ID,站点名STATION1,STATION2,STATION3....),一共多少列?线路不同,站点数目也不同。
    2.本来实现这个功能非常非常容易,但是,如果按照你的做法,必须进行行列转换或使用大量的case(以SQL Server为例)。那你用的还是数据库吗~~~~ 记住:数据库擅长的是行与行之间的运算。
    3.解决方案:
        线路表(线路ID,线路名)   --线路ID 为主键
        站点表(站点ID,站点名)   --站点ID 为主键
        线路-站点表(线路ID,站点ID,第几站)  --线路ID,站点ID  共同为主键
    很基础的结构,第三个表描述多对多映射关系
        然后,查寻起来就很easy了。select a.站点ID
    from
        (select 站点ID
         from 线路-站点表
         where 线路ID = '第一个线路ID') as a,
        (select 站点ID
         from 线路-站点表
         where 线路ID = '第二个线路ID') as b
    where
         a.站点ID = b.站点ID这样,就查出了两条指定线路的公共站点ID,如果你想要名字,在关联一下站点表就可以了。关键技术:数据库结构设计,尤其是多对多;子查询
      

  5.   

    招聘VC++程序员发布日期:2006年9月22日 15时7分
    公司名称:深圳亚邮科技有限公司(http://www.szyy.com)公司简介:亚邮公司成立于1994年。公司以引进开发、研制邮政及金融自动化系统为主营业务,产品销售遍及全国各地。公司研制的亚邮商业信函名址数据库
    多年来,公司与中国邮政局及金融自动化发展同步,紧跟世界科技步伐,与欧美及港、澳、台业界建立了广泛而密切的商务联系,被德国RENA公司、德国SCHEIDMANTEL公司指定为中国大陆地区总代理。 
    公司以专业水准在产品售后服务方面具有强大的技术支持能力,以快捷优质的终身服务制度受到用户的欢迎。 
        2000年10月,公司顺利通过了ISO9002国际质量体系认证,为未来更好地服务客户提供了有力的保证! 工作地点:北京市,海淀区。待遇:面议截止日期:2006年10月10日 程序员职位(1名):
    要求精通 VC++,MFC,ADO ,SQL Server 数据库。有意者请将简历发送到 [email protected] ,在邮件标题中注明‘应聘VC++程序员’。(条件不符者请勿打扰,谢谢合作)