gpt4 book ai didi

sql - 如何 INNER JOIN 4 个表?

转载 作者:行者123 更新时间:2023-12-04 14:36:11 24 4
gpt4 key购买 nike

我必须创建一个将数据库连接到 java gui 的地址簿应用程序。我现在正在处理我的搜索按钮,几乎得到了它,但无法弄清楚如何连接所有四个表。我需要按姓氏进行搜索,然后我希望它显示该人的所有相关信息。

enter image description here

到目前为止,这就是我所拥有的,它似乎正在工作,但是当我尝试 INNER JOIN emailAddresses 和 phoneNumbers 时,出现语法错误。

resultSet =
statement.executeQuery( "SELECT * FROM names INNER JOIN addresses ON names.personID = addresses.personID WHERE lastName LIKE '%" + last + "%' ");
resultSet.next();
jTextField1.setText(resultSet.getString("firstName"));
jTextField2.setText(resultSet.getString("lastName"));
jTextField3.setText(resultSet.getString("address1"));
jTextField4.setText(resultSet.getString("address2"));
jTextField5.setText(resultSet.getString("city"));
jTextField6.setText(resultSet.getString("state"));
jTextField7.setText(resultSet.getString("zipcode"));
jTextField8.setText(resultSet.getString("phoneNumber"));
jTextField9.setText(resultSet.getString("emailAddress"));

最佳答案

您需要添加括号并使用 *而不是 %作为通配符。
我还没有测试过,但这应该有效:

"SELECT     *
FROM ((names INNER JOIN addresses ON names.personID = addresses.personID)
INNER JOIN emailadresses ON names.personID = emailadresses.PersonID)
INNER JOIN PhoneNumbers ON names.PersonID = PhoneNumbers.PersonID
WHERE lastName LIKE '*" & last & "*'"

说它应该有效 - 记住在任何姓氏中转义撇号。
Escaping ' in Access SQL

关于sql - 如何 INNER JOIN 4 个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40129475/

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