2013-03-13 74 views
1

这是我的查询,它显示两次具有相同信息的数据。我应该怎么做才会显示一次数据?SQL Server 2008我该怎么做才能让它不显示数据两次?

SELECT 
     STUDENT.Stud_Num, STUDENT.Last_Name, STUDENT.First_Name, 
     STUDENT.Middle_Name, STUDENT.Program, CORRELATION.Corr_Code, 
     AVERAGE.Remarks, ACAD_QTR_LINK.Acad_Year, ACAD_QTR_LINK.Qtr, 
     COURSE.Course_Name, GRADES.Grades, GRADES.[No.OfTakes] 
    FROM 
     STUDENT 
inner join 
     AVERAGE on STUDENT.Stud_Num = AVERAGE.Stud_Num 
inner join 
     CORRELATION on AVERAGE.Corr_Code = CORRELATION.Corr_Code 
inner join 
     ACAD_QTR_LINK on AVERAGE.Acad_Qtr_ID = ACAD_QTR_LINK.Acad_Qtr_ID 
inner join 
     CORR_COUR_LINK on STUDENT.Stud_Num = CORR_COUR_LINK.Stud_Num 
inner join 
     COURSE on CORR_COUR_LINK.Course_Code = COURSE.Course_Code 
inner join 
     GRADES on CORR_COUR_LINK.Corr_Cour_ID = GRADES.Corr_Cour_ID 
where 
     STUDENT.Stud_Num like '%' and STUDENT.Program like '%' 
     and STUDENT.Last_Name like '%' and STUDENT.First_Name like '%' 
     and STUDENT.Middle_Name like '%' and ACAD_QTR_LINK.Acad_Year like '%' 
     and ACAD_QTR_LINK.Qtr like '%' 
     and COURSE.Course_Name like '%' and CORRELATION.Corr_Code like '%' 

结果输出:

|StudNum|LName|FName|MName|Prog|CorrCode|Remarks|AcadYr|Qtr|CorName|Grades|No.OfTakes 
|2007131|Mendo|charisn|Chucka|ECE|ece12345|7.00000| '11-'12 |3rd|Mathema|89.000| 1 
|2007131|Mendo|charisn|Chucka|ECE|ece12345|7.00000| '11-'12 |3rd|Mathema|89.000| 1 
|2007131|Mendo|charisn|Chucka|ECE|ece12345|7.00000| '11-'12 |3rd|Electroni|65.000| 1 
|2007131|Mendo|charisn|Chucka|ECE|ece12345|7.00000| '11-'12 |3rd|Electroni|65.000| 1 
+0

请帮我:( – 2013-03-13 03:40:53

+0

如果你找到答案,请更新的问题鉴于你已经表明,它应该清楚地返回记录什么,我觉得可能是东西。还没有提供,但我不知道还有什么要问的。 – TEEKAY 2013-03-13 15:46:46

回答

0

响应1 如果行完全相同添加不同的或你可以通过所有列组。

SELECT distinct STUDENT.Stud_Num, .... 

如果你也可以找出表使连接返回多行或引入附加条件来限制他们,也可能消除重复的行。

回复2看到您的评论后。

SELECT STUDENT.Stud_Num, STUDENT.Last_Name, STUDENT.First_Name, STUDENT.Middle_Name, STUDENT.Program, CORRELATION.Corr_Code, 
AVERAGE.Remarks, ACAD_QTR_LINK.Acad_Year, ACAD_QTR_LINK.Qtr, 
COURSE.Course_Name, GRADES.Grades, GRADES.[No.OfTakes] FROM STUDENT 
inner join AVERAGE on STUDENT.Stud_Num = AVERAGE.Stud_Num 
inner join CORRELATION on AVERAGE.Corr_Code = CORRELATION.Corr_Code 
inner join ACAD_QTR_LINK on AVERAGE.Acad_Qtr_ID = ACAD_QTR_LINK.Acad_Qtr_ID 
inner join CORR_COUR_LINK on STUDENT.Stud_Num = CORR_COUR_LINK.Stud_Num 
inner join COURSE on CORR_COUR_LINK.Course_Code = COURSE.Course_Code 
inner join GRADES on CORR_COUR_LINK.Corr_Cour_ID = GRADES.Corr_Cour_ID 
where STUDENT.Stud_Num like '%' and STUDENT.Program like '%' 
and STUDENT.Last_Name like '%' and STUDENT.First_Name like '%' 
and STUDENT.Middle_Name like '%' and ACAD_QTR_LINK.Acad_Year like '%' 
and ACAD_QTR_LINK.Qtr like '%' 
and COURSE.Course_Name like '%' and CORRELATION.Corr_Code like '%' 
group by STUDENT.Stud_Num, STUDENT.Last_Name, STUDENT.First_Name, STUDENT.Middle_Name, STUDENT.Program, CORRELATION.Corr_Code, 
AVERAGE.Remarks, ACAD_QTR_LINK.Acad_Year, ACAD_QTR_LINK.Qtr, 
COURSE.Course_Name, GRADES.Grades, GRADES.[No.OfTakes] 

工作小提琴 - http://sqlfiddle.com/#!3/2f42e/5

+0

先生,我也做到了这一点,仍然没有工作 – 2013-03-13 02:53:20

+0

我不知道我将如何分组这我仍然不知道如何使用“ group by“与多个内部联接 – 2013-03-13 02:55:10

+0

你的重复行是否相同?如果他们不是这两个都不会回答你的问题我相信。 – TEEKAY 2013-03-13 02:58:04