JSP,从另一个表中显示参数

时间:2015-08-13 16:34:33

标签: sql jsp

在JSP中我有简单的foreach,它应该显示来自两个表的信息。 第一桌"公司" as" country"参数将country的id保存为另一个表的外键" Countries"。

如何在此foreach中显示国家/地区名称,该名称保留在"公司"作为国家的身份?

<c:forEach items="${companies}" var="company">
<c:url var="edit" value="/edit/${company.id}" />
<c:url var="remove" value="/remove/${company.id}" />
<tr>
<td><c:out value="${company.name}" /></td>
<td><c:out value="${company.country}" /></td> // In this line
<td><c:out value="${company.address}" /></td>
<td><c:out value="${company.phone}" /></td>
<td><c:out value="${company.market_cap}" /></td>
<td valign = "top"><a href="${edit}">Edit</a></td>
<td valign = "top"><a href="${remove}">Remove</a></td>
</tr>
</c:forEach>

表:

CREATE TABLE IF NOT EXISTS Companies (id int auto_increment , name varchar(255), country int, address varchar(255), phone varchar(255)primary key(id), foreign key (country) references public.country(id_country));

CREATE TABLE IF NOT EXISTS Country (id_country int auto_increment , name varchar(255), primary key(id_country));

1 个答案:

答案 0 :(得分:0)

您的Company班级应该有Country类型的字段,而不是只包含国家/地区ID的字段。

从数据库中获取数据的代码应该获取公司信息以及相关的国家/地区信息。

这样的东西
select company.name, company.address, ... country.id, country.name 
from company 
inner join country on company.country_id = country.id`