假设有两个数据表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个记录!请大家指点下,是数据库设置有误,还是查询表达式不对?谢谢先
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个记录!请大家指点下,是数据库设置有误,还是查询表达式不对?谢谢先
首先谢谢您!
这个查询恐怕不行,因为在数据表BB中,xsdm字段还有多位,用A.dm=B.xsdm 查不出。譬如在BB表中第一行,就有101,102,105三位学生,我的目的是一次性查处来
from AA A
left join BB B on charindex(A.DM,b.XSDM) > 0
where KM='YW'
and B.FS > 80