作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个网络应用程序,其中包含一个搜索功能,当用户提交与该餐厅匹配的查询时,该功能会返回该餐厅。
例如,如果用户输入“披萨”并输入“威士忌”,我希望结果输出匹配的餐厅一次。
相反,这个精确的查询会导致餐厅名称出现多次。
表格:
Foodtbl Drinkstbl Restaurantstbl
SQL 代码:
" SELECT r.restname, r.type, r.location, r.website, r.reviews, r.PageLink"
+ " FROM restaurants r, food f, drinks d"
+ " WHERE SOUNDEX(f.foodcategory) = SOUNDEX(?)"
+ " AND SOUNDEX(d.drinkvariety) = SOUNDEX(?)"
+ " AND r.restid = f.restid"
+ " AND r.restid = d.restid");
While循环结果:
<% while (restResults.next()) { %>
<td><%= restResults.getString("restname") %></td>
<td><%= restResults.getString("type") %></td>
<td><%= restResults.getString("location") %></td>
<td><a href="<%= restResults.getString("website") %>"</a>Go to Website</td>
<td><a href="<%= restResults.getString("reviews") %>"</a>Go to Reviews</td>
<td><a href ="<%= restResults.getString("PageLink") %>"</a>More Info</td>
这是我的 SQL 语句的问题还是循环问题?
谢谢。
最佳答案
由于您仅从餐厅中选择字段,并且不使用聚合函数,因此您可以添加 DISTINCT
。
这样返回的记录将是唯一的。
此外,最好使用更新的 JOIN 语法,而不是过时的逗号语法。
" SELECT DISTINCT r.restname, r.type, r.location, r.website, r.reviews, r.PageLink"
+ " FROM restaurants r"
+ " JOIN food f ON f.restid = r.restid"
+ " JOIN drinks d ON d.restid = r.restid"
+ " WHERE SOUNDEX(f.foodcategory) = SOUNDEX(?)"
+ " AND SOUNDEX(d.drinkvariety) = SOUNDEX(?)");
关于java - 如何将 SQL 结果集输出限制为 1 个结果而不是每个查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54786249/
我是一名优秀的程序员,十分优秀!