在jsp页面中重复,

时间:2014-05-07 01:00:50

标签: java sql jsp

我面临着在jsp中编写的摘要页面的重复问题。

我有三个赞助商,每个赞助商都在监督他自己的学校。

当我尝试为所有重要数据执行select语句,并设置学校等于赞助商的schoold id的条件时,它会复制所有数据三次

这里是复制结果的图像

enter image description here

这是我的sql语句:

          <sql:query dataSource="${snapshot}" var="result">
                SELECT distinct * from Math.Students
                INNER JOIN MATH.Schools
                ON MATH.Students.Schools_idSchools = <%=session.getAttribute("SPONSOR_SchoolID")%>
                INNER JOIN MATH.Sponsor
                ON MATH.Schools.idSchools = MATH.Sponsor.Schools_idSchools
                INNER JOIN MATH.EventPArticipants 
                ON MATH.Students.idStudents = MATH.EventParticipants.Students_idStudents
                INNER JOIN MATH.Events
                ON MATH.EventParticipants.Events_idEvents = MATH.Events.idEvents

              </sql:query>

无论如何我可以避免重复部分吗?

1 个答案:

答案 0 :(得分:0)

首先,

select distinct *
不止一张桌子上的傻话很傻。您不仅要获得两次加入字段,选择唯一标识符可确保您获得每一行。

接下来,

from Math.Students
INNER JOIN MATH.Schools
ON MATH.Students.Schools_idSchools = <%=session.getAttribute("SPONSOR_SchoolID")%>
INNER JOIN MATH.Sponsor

你没有加入来自学校等地的学生。现在这变成了一个完整的外连接,而不是内连接。

这两点将改善您的结果。