学生表:
student(student_id, student_name varchar(50), class_id(FK)),
班级表(class_id, class_name);
学习成绩表 student_score (score_id, student_id(fk), score, score_year);
每个学生可能有多个学习成绩记录数据
stuent_id    student_name
--------------------------
1             李小龙
2             张  三  //中间有空格student_name如果是两个字,中间有空格。奇怪的是我跟其它表连查的时候中间的空格有时候会丢掉?!
例子:
1. 如果和班级表(class)连查,空格就不会丢掉。
2. 如果和学习成绩表连查,中间空格就会丢掉。连查指等连。还有其它例子,我就不一一指出了。总之是有时候中间的空格会消失,有时候又不会呢?

解决方案 »

  1.   

    在SQLSERVER查询分析器里面试一下,如果问题依旧,那么检查一下SQLSERVER是否打了SP4补丁.
      

  2.   

    就是在查询分析器里试的,我是sql2000,sp4已经打过了
      

  3.   

    在查询分析器里面试的,一眼就可以看出来的:stuent_id    student_name
    --------------------------
    1             李小龙
    2             张  三  //中间有空格stuent_id    student_name
    --------------------------
    1             李小龙
    2             张三  //中间没有有空格
      

  4.   

    select * from student s, class c where s.class_id=c.class_id;
    select * from student s, student_score ss where s.student_id=ss.student;这样两个sql语句出来的结果就不一样,还有其它表的例子,但是没有发现统一的规律。很奇怪,也说不定跟版本有关系。
      

  5.   

    没有发现mssql有这么神奇的功能,多半是楼主搞错了,数据里本来就有两个张三,一个是中间有空格的一个没有