gpt4 book ai didi

mysql - 使用选择查询问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:31 26 4
gpt4 key购买 nike

我正在使用选择查询按名称从表中选择特定记录。该表包含超过 25000 条记录。

表格格式为

|rcode|rname|vcode|vname|div_sec|ofrn|phone|dat|

此外,它可能包含多个具有相同名称的记录。我正在使用以下查询

ResultSet rs=stmt.executeQuery("select * from newfarmer where rname='"+get+"'");
if(rs.next())
{
rcode=rs.getString("rcode");
out.print(rcode);
out.print(" ");
}

我必须找出给定 rname 的 rcode。现在使用上述查询的问题是,如果我搜索名称为“kannan”的记录,该表包含 6 个名称为“kannan”的记录,如

10001 kannan
10089 kannan
11826 kannan
12241 kannan
12389 kannan
19926 kannan

现在,我的查询只获取第一条记录并给出结果为 rcode="10001"

如果我用

while(rs.next())
{
rcode=rs.getString("rcode");
out.print(rcode);
out.print(" ");
}

它只会将最后一条记录打印为 rcode="19926"。假设我想使用 rcode 12241 获取“kannan”的记录,我该如何修改查询以获取记录?请注意,我必须仅使用 rname 来获取详细信息。

这个问题有什么解决办法吗?请有人帮助我

最佳答案

实际上,第二个片段应该输出所有 kannan 记录,除非您转录错误。 将输出最后一个:

while(rs.next()) {
rcode=rs.getString("rcode");
}
out.print(rcode);
out.print(" ");

理想的解决方案是将查询更改为基于两列进行限制:

select * from newfarmer where rname = 'kannan' and rcode = '12241'

但是,由于您将这种可能性排除在外,因此您必须全部获取它们并过滤出您想要的(无论与让 DBMS 执行此操作相比效率低下)。换句话说,类似于:

while(rs.next()) {
rcode=rs.getString("rcode");
if (rcode == "12241") { // or some other identifying condition.
out.print(rcode);
out.print(" ");
}
}

我的建议是返回并重新检查您是否需要仅使用 rname 来获取记录。这似乎是一个奇怪的限制,并且使任何解决方案都远不如其他情况下的最佳。

关于mysql - 使用选择查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14725567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com