我想从两个表中获取数据。
表deviceadd
包含以下列
DeviceID (primary key), DeviceName, SerialNumber, ModelNumber, Make
和另一个表issuedevices
具有以下列:
Device_ID (Unique), Employee_id, Employee_Name, Employee_Ext, Issue_Date
我收到此错误:
java.sql.SQLSyntaxErrorException:您的SQL错误 句法;检查与您的MariaDB服务器相对应的手册 在'Left JOIN issuedevices AS sm附近使用正确语法的版本 在第1行上打开sd.DeviceID = sm.DeviceID'
PreparedStatement ps=con.prepareStatement("Selectsd.DeviceID,sd.DeviceName,sd.SerialNumber,sd.ModelNumber,sd.Make,sm.DeviceID,sm.Employee_Name,sm.Employee_Ext,sm.Issue_Date From deviceadd AS sd,Left JOIN issuedevices AS sm ON sd.DeviceID = sm.DeviceID");
ResultSet rs=ps.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
int cols=rsmd.getColumnCount();
column=new String[cols];
for(int i=1;i<=cols;i++)
{
column[i-1]=rsmd.getColumnName(i);
}
rs.last();
int rows=rs.getRow();
rs.beforeFirst();
data=new String[rows][cols];
int count=0;
while(rs.next()){
for(int i=1;i<=cols;i++)
{
data[count][i-1]=rs.getString(i);
}
count++;
}
con.close();
}catch(Exception e){System.out.println(e);}
table = new JTable(data,column);
JScrollPane sp=new JScrollPane(table);
contentPane.add(sp, BorderLayout.CENTER);
答案 0 :(得分:0)
一个可能的原因是这里没有空格:
Selectsd.DeviceID
应该是
Select sd.DeviceID
此外,这里不应该包含逗号:
sd,Left JOIN