假设有两个数据表AA和BB,结构分别如下:
AA:
ID   DM     XM
1    101    学生1
2    102    学生2
3    103    学生3
4    104    学生5
5    105    学生6
……BB:ID          XSDM       KM        FS
1    101,102,105       YW        80
2    103               SX        90
3    104               YW        95
……欲得到结果:一句查询所有语文(YW)分数大于80的所有学生姓名和相应分数。
sql语句: Select A.DM as XSDM,A.XM as XSXM,B.FS as XSFS from AA A left join BB B on A.DM in (B.XSDM) where KM='YW'
这句不知道哪里错啦,出来的结果是0个记录!请大家指点下,是数据库设置有误,还是查询表达式不对?谢谢先

解决方案 »

  1.   

    Select A.DM as XSDM,A.XM as XSXM,B.FS as XSFS from AA A,BB B where A.DM=B.XSDM and KM='YW' and FS>80
      

  2.   


    首先谢谢您!
    这个查询恐怕不行,因为在数据表BB中,xsdm字段还有多位,用A.dm=B.xsdm 查不出。譬如在BB表中第一行,就有101,102,105三位学生,我的目的是一次性查处来
      

  3.   

    Select A.DM as XSDM,A.XM as XSXM,B.FS as XSFS 
    from AA A 
    left join BB B on charindex(A.DM,b.XSDM) >  0
    where KM='YW'  
      

  4.   

    -_-!
    and B.FS > 80