我想知道是否有人可以帮我解决这个问题?我非常坚持这个:
“显示每种类型的所有者的工作小时数,但不包括具有ExperienceLevel of Junior的员工的服务,并排除任何少于三名成员的类型。”
Lisas-MBP:Code LMS$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.5.1
- RUBY VERSION: 2.3.1 (2016-04-26 patchlevel 112) [x86_64-darwin15]
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.3.0
- USER INSTALLATION DIRECTORY: /Users/LMS/.gem/ruby/2.3.0
- RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin
- SPEC CACHE DIRECTORY: /Users/LMS/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.3.1_1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-15
- GEM PATHS:
- /usr/local/lib/ruby/gems/2.3.0
- /Users/LMS/.gem/ruby/2.3.0
- /usr/local/Cellar/ruby/2.3.1_1/lib/ruby/gems/2.3.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Library/Frameworks/Python.framework/Versions/3.4/bin
- /Library/Frameworks/Python.framework/Versions/3.4/bin
- /Library/Frameworks/Python.framework/Versions/3.5/bin
- /Library/Frameworks/Python.framework/Versions/3.5/bin
- /opt/local/bin
- /opt/local/sbin
- /usr/local/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /user/local/bin
- /Users/LMS/.rvm/bin
- /Applications/Postgres.app/Contents/Versions/9.4/bin
答案 0 :(得分:0)
Select Tbl1.OwnerName,Sum(TBl2.TTLHoursWorked) as TTLHoursWorked
From
(
Select TBl1.OwnerID,Tbl1.OwnerName,Tbl2.PropertyID,Tbl2.PropertyName
From Owner Tbl1
Inner Join
PROPERTY Tbl2
On Tbl1.OwnerID=Tbl2.OwnerID
)Tbl1
Inner Join
(
Select Tbl2.PropertyID,Cast(HoursWorked as numeric(5,4)) as TTLHoursWorked
From (Select * From GG_EMPLOYEE Where ExperienceLevel in(Select ExperienceLevel
From GG_EMPLOYEE
Where ExperienceLevel<>'Junior'
Group by ExperienceLevel Having Count(*)>3))as Tbl1
Inner Join SERVICE as Tbl2
On Tbl1.EmployeeID=Tbl2.EmployeeID
)Tbl2
On Tbl1.PropertyID=Tbl2.PropertyID
Group by Tbl1.OwnerName
答案 1 :(得分:0)
SELECT o.OwnerType, SUM(CAST(s.HoursWorked as INT))
FROM
owner o
INNER JOIN property p
On o.ownerid = p.ownerid
INNER JOIN service s
ON p.propertyid = s.propertyid
INNER JOIN GG_employee e
On s.employeeid = e.employeeid
And e.experiencelevel <> 'junior'
GROUP BY
O.ownertype
HAVING
COUNT(DISTINCT o.ownerid) >= 3
请原谅我手机上的拼写错误和大写字母。
答案 2 :(得分:0)
SELECT o.OwnerType, SUM(Cast(HoursWorked as INT)) Sum_HrsWorked
FROM SERVICE s
INNER JOIN GG_EMPLOYEE e
ON s.EmployeeId = e.EmployeeId
INNER JOIN PROPERTY p
ON s.PropertyId = p.PropertyId
INNER JOIN OWNER o
ON o.OwnerID = p.OwnerID
WHERE e.ExperienceLevel <> 'JUNIOR'
Group By o.OwnerType
HAVING COUNT(OwnerType) > 3