2013-02-22 85 views
0

我有2个表,EMPLOYEEAPP和EMPLOYEEINFO。将两个表中的列合并为一个

我想在SECURITYGROUP列为特定值时搜索EMPLOYEEAPP表以查找EMPLOYID。

我想从EMPLOYEEAPP表中获取EMPLOYID,并使用EMPLOYEEINFO表中的EMPLID列搜索它们对应的名和姓。

SELECT EMPLOYEEAPP.EMPLOYID, EMPLOYEEINFO.FIRST_NAME, EMPLOYEEINFO.LAST_NAME 
FROM EMPLOYEEAPP 
WHERE EMPLOYEEAPP.SECURITYGROUP = 'ANALYST' 
INNER JOIN EMPLOYEEINFO 
ON EMPLOYEEAPP.EMPLOYID=EMPLOYEEINFO.EMPLID 

我一直收到错误“ORA-00933:SQL命令未正确结束”。

任何帮助或见解将不胜感激!

回答

4

你在错误的地方有WHERE子句。查询应该是:

SELECT EMPLOYEEAPP.EMPLOYID, 
    EMPLOYEEINFO.FIRST_NAME, 
    EMPLOYEEINFO.LAST_NAME 
FROM EMPLOYEEAPP 
INNER JOIN EMPLOYEEINFO 
    ON EMPLOYEEAPP.EMPLOYID=EMPLOYEEINFO.EMPLID 
WHERE EMPLOYEEAPP.SECURITYGROUP = 'ANALYST' 

的顺序查询是:

SELECT 
FROM 
JOIN 
WHERE 
GROUP BY 
HAVING 
ORDER BY 
+0

现在我得到 “ORA-01722:无效号码”,任何想法? – user2100620 2013-02-22 19:51:54

+1

“EMPLOYID”,“EMPLID”和“SECURITYGROUP”的数据类型是什么? – Taryn 2013-02-22 19:54:48

+0

雇员人数:NUMBER; SECURITYGROUP:VARCHAR2(); EMPLID:VARCHAR2() – user2100620 2013-02-22 20:10:48