繁体   English   中英

使用SQL从两个表中选择数据

[英]Select data from two tables using SQL

我有两个表由另一个表链接如下:

ROLES(RoleID, RoleName)
EMPLOYEES(EmployeeID, E_Name, Address)
ROLE_EMPLOYEES(RoleID#,EmployeeID#).

我想要一个查询,从ROLES中检索EMPLOYEES和RoleID中的所有内容,并在Java表单上显示。

我试过这个但是不行:

rs=st.executeQuery("SELECT EMPLOYEES.*, ROLES.* FROM EMPLOYEES JOIN ROLES");               

while(rs.next()){
    //MOVE THE CURSOR TO THE FIRST RECORD AND GET DATA
    int employeeid=rs.getInt("EmployeeID");
    String id=Integer.toString(employeeid);
    String name=rs.getString("E_Name");
    String addr=rs.getString("Address");
    String s = rs.getString("RoleID");
    jComboBox1.addItem(s.trim());

    //DISPLAY THE FIRST RECORD IN THE TEXT FIELD
    txtEmpNumber.setText(id);
    txtEmpName.setText(name);
    txtEmpAddress.setText(addr);
    jComboBox1.setSelectedItem(s);
}

你可以试试这个:

SELECT
   EM.*, RL.*
FROM
   EMPLOYEES EM
INNER JOIN
   ROLE_EMPLOYEES REM ON REM.EmployeeID = EM.EmployeeID
INNER JOIN
   ROLES RL ON RL.RoleID = REM.RoleID

只需编写关键字JOIN ,db-engine就不知道它应该以哪种方式连接表的数据; 除非您想要检索笛卡尔积(这不是您的情况),否则您需要使用ON子句显式设置条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM