我正在使用JSP和Servlets创建Web应用程序,但遇到了这个问题:我有一个表users和一个myeducations表。这些表关系在user_id上建立。
users
myeducations
这是表:
我的教育
-------------------------------------------------- -------------------------------- | ed_id | user_id | school_name | year_attended_from | year_attended_to | 学位| -------------------------------------------------- --------------------------------
现在,我想在网站(jsp)上显示所有用户的教育程度,但是用户接受的教育程度是随机的:1个用户本可以完成1所学校,其他3所等等。
我了解如何仅检索1行,SQL是:
SELECT school_name FROM myeducation INNER JOIN users ON users.user_id = myeducation.user_id;
但是如何使该语句循环运行,以便让我得到用户的所有教育,比如说他是否拥有超过1的教育。然后将其全部放入会话变量中并显示在jsp的div中。
您可以使用joins或nested Query
joins
nested Query
根据您当前的数据库设计,您可以通过一个简单的查询本身来实现此目的,因为Education表包含USER_ID
SELECT school_name FROM myeducation myedu where user_id="SOME_ID_HERE"
要在servlet中循环字符串数组,只需像这样
ArrayList<String> arr = new ArrayList<String>(); while (rs.next()) { arr.add(rs.getString("school_name ")); }