有表 A,字段有姓名、科目1,科目2,科目3,科目字段存的是字典
字段 xm,km1,km2,km3有字典 B,对应科目的字典,如
code name
01 数学
02 语文
03 化学
04 历史我想写一个sql,把所有学生的科目列出来(中文)
select a.xm,b1.name....
from a,b b1,b b2, b b3
where b1.code = a.km1
....不会。。一个科目我会,多了就不知道了

解决方案 »

  1.   


    select a.xm,b1.name as km1,b2.name as km2,b3.name as km3
    from a
    left join b b1 on (a.km1=b1.code)
    left join b b2 on (a.km2=b2.code)
    left join b b3 on (a.km3=b3.code)
      

  2.   

    wdswcy 
    按照你的代码 提示 无效的关系运算符
    我用(+)也不出来,也许不会用
      

  3.   

    自己写出来了
    原来是之前的(+)写错了select   a.xm,b1.name.... 
    from   a
    where   b1.code(+)   =   a.km1 ...就可以了