有3个表, student, yuanxi, banji各有1条记录
name     yuanxi    banji     xuehao
老刘          1            101      0000001yuanxiid yuanxiname
1                 计算机学院banjiid banjiname
101           1班我想通过xuehao来查询该学号的姓名,院系,班级比如学号为00000001,则返回
老刘  计算机学院   1班   0000001

解决方案 »

  1.   

    select student.name,yuanxi.yuanxiname,banji.banjiname,student.xuehao from student,yuanxi,banji where student.yuanxi=yuanxi.yuanxiid and student.banji=banji.banjiid
      

  2.   

    select a.name,b.yuanxiname,c.banjiname,a.banji
    from student a join yuanxi b on a.yuanxi=b.yuanxiid
    join xuehao c on a.banji=c.banjiid
    where a.xuehao='00000001'
      

  3.   

    select a.name,b.yuanxiname,c.banjiname,a.xuehao 
    from      student a
    left join yuanxi b on a.yuanxi=b.yuanxiid
    left join banji  c on a.banji=city.banjiid
    where a.xuehao='00000001'
      

  4.   

    select 表一.name,表二.yuanxiname,表三.banjiname,表一.xuehao
    from 表一
     inner join 表二 on 表一.yuanxi=表二.yuanxi
     inner join 表三 on 表一.banji=表三.banji
    where 表一.xuehao='要查的学号'
      

  5.   


    create proc cx(@xh varchar(20))
    as
    select 
      a.name
    , b.yuanxiname
    , c.banjiname
    , a.banji
    from 
     student a 
    inner join yuanxi b on a.yuanxi=b.yuanxiid
    inner join xuehao c on a.banji=c.banjiid
    where a.xuehao=@xh