我有桌子
table product(id,name)
table component(id,name,quantity)
table_product_component(p_id,C_id)
一个产品可以有很多组件,一个组件可以属于很多产品。
如何执行JOIN查询并获取将显示产品名称,组件名称和数量的ResultSet?
当我执行sql查询以返回那些时,我通常将它存储在ArrayList中所以在这种情况下我创建了一个新的itemline对象,它将存储Product,Component类型。然后我可以将查询结果存储在ArrayList中。那么,如果数量为0,那么我可以简单地编写逻辑来显示通知吗?
问题是我从未使用像table_product_component(p_id,C_id)这样的视图或关系表 所以我不确定如何查询数据集以获得我想要的结果
欢迎任何想法,方法,代码,理论帮助我解决这个问题。
我实际上也需要servlet / JSP逻辑
谢谢。
答案 0 :(得分:0)
所以我以某种方式解决了这个问题。我在jsp中使用java做了
<%
Cart cart = (Cart) session.getAttribute("cart");
List<LineItem> items = cart.getItems();
for (LineItem item : items) {
Product product = item.getProduct();
%>
<tr>
<td>
<form action="<%=response.encodeURL("DisplayCart")%>">
<input type="hidden" name="productId"
value="<%=product.getId()%>">
<input type="text" size=2 name="quantity"
value="<%=item.getQuantity()%>">
<input type="submit" value="Update">
</form>
</td>
<td>
<%=product.getDescription()%>
</td>
<td><%=product.getPrice()%></td>
<td>
<form action="<%= response.encodeURL("DisplayCart")%>">
<input type="hidden" name="productId"
value="<%=product.getId()%>">
<input type="hidden" name="quantity"
value="0">
<input type="submit" value="RemoveButton">
</form>
</td>
<td>
<%
String p = product.getId();
List<String> pcs = PcDb.selectCidFromPc(p);
for (String temp : pcs) {
Component component = ComponentDb.selectComponent(temp);
int c = component.getQuantity();
if(c==0){
out.println("Product is not in stock at the moment, expect delays");
}
}
%>
</td>
</tr>
<% }%>