如何在TABLE FORM中显示来自不同表的列

时间:2015-06-07 19:34:31

标签: java mysql jsp

我创建了List,它从数据库中获取Obiekt,并且我以选择的形式显示此List。 这是表单代码:

<select name="obiekt">
        <option selected value="default">Wybierz Obiekt</option>
        <%
            for (Obiekt obiekt : list) {
        %>
        <option value="<%=obiekt.idObiekt %>"><%=obiekt.nazwa%> <%=obiekt.adres %></option>
        <%
            }
        %>
</select> 

在我的数据库中,我还有终端数据库,其中包含以下列:
idTermin int,
dzien日期,
odKtorej varchar,
doKtorej varchar,
idObiekt int&lt; - 这是引用Obiekt表的外键

Obiekt表:
idObiekt int,
nazwa varchar,
adres varchar

我想制作显示终端列表(列表)的表格,但我不知道如何在此表格上显示Obiekt的名称和地址。


这是mysql代码:

SELECT CONCAT( obiekty.nazwa, obiekty.adres ) AS Obiekt, dzien, odKtorej, doKtorej FROM termin INNER JOIN obiekty ON termin.idObiekt = obiekty.idObiekt;

这是表格形式代码:

<table>
    <%for (Termin termin : lista) {%>
    <tr>
    <td>THERE IS THE PLACE WHERE I WANT TO SHOW Obiekt.nazwa and Obiekt.adres</td>
    <td><%=termin.dzien %> </td>
    <td><%=termin.odKtorej %> </td>
    <td><%=termin.doKtorej %> </td>
    </tr>
    <% } %>
</table>

以下是我制作List的类的一部分:

while(rs.next())
        {
            Termin termin = new Termin();
            termin.setNazwaObiektu(rs.getString("obiekty.nazwa"));
            termin.setAdresObiektu(rs.getString("obiekty.adres"));
            termin.setDzien(rs.getDate("dzien"));
            termin.setOdKtorej(rs.getString("odKtorej"));
            termin.setDoKtorej(rs.getString("doKtorej"));
            terminy.add(termin);
        }
        return terminy;

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用mysql代码

SELECT obiekty.nazwa, obiekty.adres, dzien, odKtorej, doKtorej FROM termin INNER JOIN obiekty ON termin.idObiekt = obiekty.idObiekt;

使其匹配控制器中的getString()。

答案 1 :(得分:0)

模型应该是:
idTermin int,
dzien日期,
odKtorej varchar,
doKtorej varchar,
obiekt Obiekt

所以你可以使用 termin.obiekt.nazwa termin.obiekt.adres