Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在mysql中从相关表中选择值_Java_Mysql_Sql_Database - Fatal编程技术网

Java 在mysql中从相关表中选择值

Java 在mysql中从相关表中选择值,java,mysql,sql,database,Java,Mysql,Sql,Database,我正在寻找从数据库中获取值并将它们设置为JLabeltext,但当涉及foreign键时,我不确定sql语句。SQL语句应该是从Job表中选择除employerID之外的所有值,并使用外键employerID获取公司的名称…是否有人可以向我显示此方面的正确SQL语句..我想显示如下示例中的信息: 分析师-微软 JobID:454 描述:干得好 电邮:123@hotmail.com 电话:45545 但不确定如何显示MICROSOFT CREATE TABLE "Employer" (

我正在寻找从数据库中获取值并将它们设置为
JLabel
text,但当涉及
foreign
键时,我不确定sql语句。SQL语句应该是从
Job
表中选择除
employerID
之外的所有值,并使用外键
employerID
获取公司的
名称
…是否有人可以向我显示此方面的正确SQL语句..我想显示如下示例中的信息:

分析师-微软

JobID:454 描述:干得好 电邮:123@hotmail.com 电话:45545

但不确定如何显示MICROSOFT

CREATE TABLE "Employer" (
        "employerID" INT PRIMARY KEY NOT NULL,
        "name" CHAR,
        "industry" CHAR,
        "contact1" CHAR,
        "contact2" CHAR,
        "email" CHAR,
        "website" CHAR,
        "facts" CHAR,
        "phone" VACHAR
        )

CREATE TABLE "Job" (
        "jobID" INT PRIMARY KEY NOT NULL,
        "employerID" INT,
        "title" CHAR,
        "description" CHAR,
        "type" CHAR,
        "salary" CHAR,
        "benefits" CHAR,
        "vacancies" INT,
        "closing" CHAR,
        "requirement" CHAR,
        "placement" BOOL,
        "applyTo" CHAR,
        "notes" CHAR,
        FOREIGN KEY (employerID) REFERENCES Employer(employerID)
        )

如何打印雇主表中的
名称
值以及职务表中的所有数据

一个简单的连接就可以完成这项工作

public void setText() {
    try {
    String sql = "SELECT a.*, b.name FROM Employer a INNER JOIN `Job` b ON a.employerID = b.employerID";
    pst = conn.prepareStatement(sql); 
    rs = pst.executeQuery();
    while (rs.next()) {

        System.out.println(rs.getString(1)); //how Do i Print the name value from Employer table?? 
        System.out.println(rs.getString(2));
        System.out.println(rs.getString(3));
        System.out.println(rs.getString(4));
        System.out.println(rs.getString(5));
        System.out.println(rs.getString(6)); 
    }


}

一个简单的连接就可以完成这项工作

public void setText() {
    try {
    String sql = "SELECT a.*, b.name FROM Employer a INNER JOIN `Job` b ON a.employerID = b.employerID";
    pst = conn.prepareStatement(sql); 
    rs = pst.executeQuery();
    while (rs.next()) {

        System.out.println(rs.getString(1)); //how Do i Print the name value from Employer table?? 
        System.out.println(rs.getString(2));
        System.out.println(rs.getString(3));
        System.out.println(rs.getString(4));
        System.out.println(rs.getString(5));
        System.out.println(rs.getString(6)); 
    }


}

a
被称为表
Employer
别名
,因此在编写
Employer
的过程中,您只需编写
a
。我希望将它们添加到java中的JLabel中,例如
id.setText(rs.getString(1))
这样行吗?在我的情况下,第一行不是包括
工作a
而不是
雇主a
吗?如果第一列是你想要的列的名称,那么是的,否则你需要反复尝试才能找到该列的索引,您正在查找的列的名称是什么?相同,因为它使用
内部联接
a
被称为表
雇主的
别名
,因此编写
雇主的过程中可以只编写
a
。我希望将它们添加到java中的JLabel中,例如
id.setText(rs.getString(1))
这样行吗?在我的情况下,第一行不是包括
工作a
而不是
雇主a
吗?如果第一列是你想要的列的名称,那么是的,否则你需要反复尝试才能找到该列的索引,您正在查找的列的名称是什么?相同,因为它使用的是
内部联接