如何在SQL中计算生产数量
我只是在SQL作业中遇到了一个问题 我必须在我的数据中列出所有收入超过3000.00美元的员工 这些是我的桌子如何在SQL中计算生产数量,sql,Sql,我只是在SQL作业中遇到了一个问题 我必须在我的数据中列出所有收入超过3000.00美元的员工 这些是我的桌子 EMPLOYEE Table EMP_NUM EMP_NAME JOB_CLASS 101 John G. News Database Designer 102 David H. Senior Systems Analyst 103 June E. Ar
EMPLOYEE Table
EMP_NUM EMP_NAME JOB_CLASS
101 John G. News Database Designer
102 David H. Senior Systems Analyst
103 June E. Arbough Electrical Engineer
104 Anne K. Ramoras Systems Analyst
105 Alice K. Johnson Database Designer
106 William Smithfield Programmer
107 Maria D. Alonzo Programmer
108 Ralph B. Washington Systems Analyst
111 Geoff B. Wabash Clerical Support
112 Darlene M. Smithson DSS Analyst
113 Delbert K. Joenbrood Applications Designer
114 Annelise Jones Applications Designer
115 Travis B. Bawangi Systems Analyst
118 James J. Frommer General Support
ASSIGN Table
EMP_NUM PROJ_NUM HOURS
101 15 19.4
102 15 23.8
103 15 23.8
105 15 35.7
106 15 12.6
104 18 32.4
112 18 44
114 18 24.6
118 18 45.3
104 22 48.4
105 22 64.7
106 22 12.8
111 22 22
113 22 23.6
101 25 56.3
107 25 24.6
108 25 23.6
112 25 41.4
114 25 33.1
115 25 45.8
118 25 30.5
JOB Table
JOB_CLASS CHG_HOUR
Applications Designer 48.1
Clerical Support 26.87
Database Designer 105
DSS Analyst 45.95
Electrical Engineer 84.5
General Support 18.36
Programmer 35.75
Systems Analyst 96.75
对于前面的问题,列出了在多个项目中工作的所有员工,我喜欢这样
select COUNT (a.PROJ_NUM), e.EMP_NAME
from EMPLOYEE e, ASSIGN a
where e.EMP_NUM = a.EMP_NUM
Having COUNT (a.PROJ_NUM) >= 2
group by e.EMP_NAME;
select COUNT (a.HOURS * j.CHG_OUR), e.EMP_NAME
from EMPLOYEE e, ASSIGN a. JOB j
where j.JOB_CLASS = e.JOB_CLASS
and e.EMP_NUM = a.EMP_NUM
Having COUNT (a.HOURS * j.CHG_OUR) >= 3000
group by e.EMP_NAME;
ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Error at Line: 60 Column: 26
这个密码给了我想要的
我现在遇到的麻烦是得到一份收入超过3000.00英镑的名单
所以我喜欢这个
select COUNT (a.PROJ_NUM), e.EMP_NAME
from EMPLOYEE e, ASSIGN a
where e.EMP_NUM = a.EMP_NUM
Having COUNT (a.PROJ_NUM) >= 2
group by e.EMP_NAME;
select COUNT (a.HOURS * j.CHG_OUR), e.EMP_NAME
from EMPLOYEE e, ASSIGN a. JOB j
where j.JOB_CLASS = e.JOB_CLASS
and e.EMP_NUM = a.EMP_NUM
Having COUNT (a.HOURS * j.CHG_OUR) >= 3000
group by e.EMP_NAME;
ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Error at Line: 60 Column: 26
但这一次,这段代码并没有给我想要的
它只打印出这样的错误消息
select COUNT (a.PROJ_NUM), e.EMP_NAME
from EMPLOYEE e, ASSIGN a
where e.EMP_NUM = a.EMP_NUM
Having COUNT (a.PROJ_NUM) >= 2
group by e.EMP_NAME;
select COUNT (a.HOURS * j.CHG_OUR), e.EMP_NAME
from EMPLOYEE e, ASSIGN a. JOB j
where j.JOB_CLASS = e.JOB_CLASS
and e.EMP_NUM = a.EMP_NUM
Having COUNT (a.HOURS * j.CHG_OUR) >= 3000
group by e.EMP_NAME;
ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Error at Line: 60 Column: 26
如果你知道如何修理它,请回答我
多谢各位
select SUM (a.HOURS * j.CHG_OUR), e.EMP_NAME
from EMPLOYEE e, ASSIGN a. JOB j
where j.JOB_CLASS = e.JOB_CLASS
and e.EMP_NUM = a.EMP_NUM
group by e.EMP_NAME
Having SUM (a.HOURS * j.CHG_OUR) >= 3000;
我认为你可以做到这一点:
select SUM(a.HOURS * j.CHG_OUR), e.EMP_NAME
from EMPLOYEE e, ASSIGN a, JOB j
where j.JOB_CLASS = e.JOB_CLASS
and e.EMP_NUM = a.EMP_NUM
group by e.EMP_NAME
Having sum(a.HOURS * j.CHG_OUR) >= 3000;
那么这个呢:
select COUNT (a.HOURS * j.CHG_OUR), e.EMP_NAME
from EMPLOYEE e, ASSIGN a. JOB j
where j.JOB_CLASS = e.JOB_CLASS
and e.EMP_NUM = a.EMP_NUM
group by e.EMP_NAME;
Having COUNT ((a.HOURS * j.CHG_OUR) >= 3000)
我在你的伯爵周围多加了一套帕伦。嗨,凯尔,谢谢你的回复。对于ur#1的答案,那么为什么我的第一个代码即使在having语句出现在group by语句之前也能工作呢?我可以问一下如何使用SUM()聚合吗?我刚刚发现我把句点放在赋值a之后。所以我把它改为逗号,现在我有一条错误消息,上面写着ORA-00904:“J”。“CHG_OUR”:无效标识符00904。00000-“%s:无效标识符”*原因:*操作:第64行错误列:23Hi Noel,ye我刚找到它lol,所以我现在修复了它,我再次出现无效标识符错误,这次,我在我们的lol中输入了错误。它应该是j.CHG_HOUR;;这让我看起来很傻。现在我明白了。谢谢你们!只是一个简短的提示,您可能希望>3000,而不是>=3000(如果作业显示大于3000)。这可能是一个打字错误,但。。。检查您的
from
子句:您正在编写分配a。作业j
改用逗号:分配一个,作业j
你们这些打字错误。。。下次我应该再检查一遍。再次感谢你!