Sql 创建连接查找特定数据时遇到问题
我正在使用Oracle SQL(TeraTerm), 和 我正在尝试加入来自两个表CONSULTANT和PROJECT_CONSULTANT的特定信息,我只需要检索工作时间超过40小时的员工。这是桌子 项目顾问Sql 创建连接查找特定数据时遇到问题,sql,join,inner-join,Sql,Join,Inner Join,我正在使用Oracle SQL(TeraTerm), 和 我正在尝试加入来自两个表CONSULTANT和PROJECT_CONSULTANT的特定信息,我只需要检索工作时间超过40小时的员工。这是桌子 项目顾问 PROJECT_ID CONSULTANT_ID NUMBER_HOURS --------------- --------------- ------------ 94738949 49620928
PROJECT_ID CONSULTANT_ID NUMBER_HOURS
--------------- --------------- ------------
94738949 49620928 6
45699847 34879223 57
45699847 95928792 44
45699847 04875034 59
19870398 49620928 32
30495394 95928792 57
30495394 07811473 50
62388923 07811473 82
CONSULTA NAME ZIP START_DT
-------- -------------------------------- ----- ---------
CON_TITLE
-------------------------
49620928 Tom Jones 39875 01-SEP-98
Junior Consultant
04875034 Jack Johnson 29087 05-OCT-93
Manager
34879223 Lanny Harris 03944 30-APR-04
Principal
CONSULTA NAME ZIP START_DT
-------- -------------------------------- ----- ---------
CON_TITLE
-------------------------
95928792 Michael Johnson 02953 22-JUN-02
Senior Manager
07811473 Wendy Adams 29087 05-JUL-05
Senior Consultant
和顾问
PROJECT_ID CONSULTANT_ID NUMBER_HOURS
--------------- --------------- ------------
94738949 49620928 6
45699847 34879223 57
45699847 95928792 44
45699847 04875034 59
19870398 49620928 32
30495394 95928792 57
30495394 07811473 50
62388923 07811473 82
CONSULTA NAME ZIP START_DT
-------- -------------------------------- ----- ---------
CON_TITLE
-------------------------
49620928 Tom Jones 39875 01-SEP-98
Junior Consultant
04875034 Jack Johnson 29087 05-OCT-93
Manager
34879223 Lanny Harris 03944 30-APR-04
Principal
CONSULTA NAME ZIP START_DT
-------- -------------------------------- ----- ---------
CON_TITLE
-------------------------
95928792 Michael Johnson 02953 22-JUN-02
Senior Manager
07811473 Wendy Adams 29087 05-JUL-05
Senior Consultant
我想出的密码是
select Consultant_ID, Name, Zip, and Number_Hours
from Consultant
Inner Join project_consultant
ON Consultant.Consultant_ID=project_consultant.Consultant_ID
WHERE project_consultant.number_Hours>40;
我犯了一个错误
ERROR at line 1:
ORA-00936: missing expression
我只想知道如何正确地编写join语句。任何帮助都会非常棒,因为我在知道如何修复此join语句时遇到了困难。您在
select
子句中不使用和:
select c.Consultant_ID, c.Name, c.Zip, pc.Number_Hours
from Consultant c Inner Join
project_consultant pc
on c.Consultant_ID = pc.Consultant_ID
where pc.number_Hours > 40;
在select
子句中还需要一个表别名,以明确表Consultant\u Id
所指的内容
编辑:
实际上,您可能需要计算员工的工作时数。如果是这样,您需要一个聚合:
select c.Consultant_ID, c.Name, c.Zip, sum(pc.Number_Hours)
from Consultant c Inner Join
project_consultant pc
on c.Consultant_ID = pc.Consultant_ID
group by c.Consultant_ID, c.Name, c.Zip
having sum(pc.number_Hours) > 40;
在Select子句中不能使用和
试试这个
SELECT C.Consultant_ID, C.Name, C.ip, PC.Number_Hours
FROM Consultant C
INNER Join project_consultant PC
ON C.Consultant_ID=PC.Consultant_ID
WHERE PC.number_Hours > 40;
和
在选择条款中是不可接受的。您能解释一下您的答案吗?目前还不完整。