Sql 创建连接查找特定数据时遇到问题

Sql 创建连接查找特定数据时遇到问题,sql,join,inner-join,Sql,Join,Inner Join,我正在使用Oracle SQL(TeraTerm), 和 我正在尝试加入来自两个表CONSULTANT和PROJECT_CONSULTANT的特定信息,我只需要检索工作时间超过40小时的员工。这是桌子 项目顾问 PROJECT_ID CONSULTANT_ID NUMBER_HOURS --------------- --------------- ------------ 94738949 49620928

我正在使用Oracle SQL(TeraTerm), 和 我正在尝试加入来自两个表CONSULTANT和PROJECT_CONSULTANT的特定信息,我只需要检索工作时间超过40小时的员工。这是桌子

项目顾问

    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;

在选择条款中是不可接受的。您能解释一下您的答案吗?目前还不完整。