【问题标题】:duplicating in jsp page,在jsp页面中复制,
【发布时间】:2014-05-07 01:00:49
【问题描述】:

我在使用 jsp 编程的摘要页面时遇到重复问题。

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

当我尝试对所有重要数据做一个select语句,并设置学校等于赞助商的schoold id的条件时,它将所有数据复制3次

这是复制结果的图像

这是我的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>

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

【问题讨论】:

  • 它仍然打印 3 次结果
  • 发布 jstl for-each 循环并向我们展示您是如何打印的

标签: java sql jsp


【解决方案1】:

首先,

select distinct *

在一张以上的桌子上是愚蠢的。您不仅要获得两次连接字段,而且选择唯一标识符可以保证您获得每一行。

接下来,

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

您加入的学生领域不等于学校的领域。这现在变成了完全外连接而不是内连接。

这两点会改善你的结果。

【讨论】:

    猜你喜欢
    • 2014-09-27
    • 2016-03-04
    • 1970-01-01
    • 2012-08-29
    • 2013-02-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多