하위 쿼리를 사용한 재귀 관계 및 상대 테이블 쿼리

마이크 바쉬 카 토프

재귀 관계와 상대 테이블이있는 테이블에 문제가 있습니다. 저의 목표는 감독자이며 검토가 수행되지 않은 직원이 할당되었거나 가장 최근에 검토 한 지 3 개월이 지난 모든 직원을 확보하는 것입니다.

다음은 스키마입니다.

종업원

| ID | Name| BirtDate| Salary | SupervisorID |

Employee테이블 SupervisorEmployee.

리뷰

| ID | PerfomanceRating| Comment| ReviewDate| EmployeeID|

이 유형의 쿼리를 생각해 냈지만 작동하지 않습니다.

SELECT 
    (FName + ' ' + LName) AS Name, Employee.ID AS superID 
FROM 
    Employee
WHERE 
    Employee.IsSupervisor = '1' 
    AND (SELECT COUNT(*) 
         FROM Employee  
         LEFT JOIN Review ON Employee.ID = Review.EmployeeId 
         WHERE Employee.SupervisorID = Employee.ID 
         GROUP BY ReviewDate
         HAVING ReviewDate IS NULL 
             OR MAX(ReviewDate) < DATEADD(month, -3, GETDATE())) > 0

그래서 하루의 끝에서 나는 필요 EmployeeIDName리뷰는 수행하거나 가장 최근의 리뷰가 3 개월 이상 전에 수행 직원이있는 관리자의.

누구든지 그것을 달성하는 방법에 대한 아이디어가 있습니까?

Forpas

먼저 감독자의 ID employee를 얻고 조인하여 이름을 얻습니다.
그런 다음 employee다시 가입하여 이번에는 각 감독 아래에있는 직원을 확보합니다.
그런 다음 ReviewDate각 직원 의 최대 값 반환하는 쿼리에 조인합니다 .
마지막으로 감독자별로 그룹화하고 having절에 조건을 설정하십시오 .

select (se.fname + ' ' + se.lname) Name, s.id superID
from (select distinct supervisorid id from employee) s
inner join employee se on se.id = s.id
inner join employee e on e.supervisorid = s.id
left join (
  select employeeid, max(reviewdate) reviewdate
  from review
  group by employeeid  
) r on r.employeeid = e.id 
group by s.id, se.fname, se.lname
having count(case when coalesce(r.reviewdate, dateadd(month, -4, getdate())) < dateadd(month, -3, getdate()) then 1 end) > 0

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다 대다 관계가있는 두 테이블에 대한 CTE 재귀 쿼리

분류에서Dev

상위 하위 관계에 대한 테이블의 값을 집계하고 업데이트하는 Spark 쿼리

분류에서Dev

has_many through : in Rails를 사용하여 현재 및 이전 관계 쿼리

분류에서Dev

거대한 테이블에 대한 SQL 계산 및 다중 하위 쿼리

분류에서Dev

다 대다 관계의 브리징 테이블에서 데이터를 검색하기위한 쿼리

분류에서Dev

Sequelize : 2 개 이상의 테이블 관계에 대한 OR 쿼리

분류에서Dev

페이지 매김을 사용하는 Laravel Eloquent 쿼리 재귀 관계 모델

분류에서Dev

계층 및 피어에 대한 재귀 쿼리

분류에서Dev

관계를 사용하여 Android Room 검색 및 필터링, 여러 테이블 쿼리

분류에서Dev

이 테이블 및 관계에 대한 쿼리를 파악할 수 없습니다.

분류에서Dev

기능 테이블 (AND 조건)을 사용하여 다 대다 관계를 쿼리하는 방법

분류에서Dev

재귀 계층 구조-Linq를 사용한 재귀 쿼리

분류에서Dev

Sequelize-where 및 limit를 사용하여 다 대다 관계로 쿼리

분류에서Dev

DBDesigner를 사용하여 ERD에서 관계에 대한 쿼리

분류에서Dev

레코드에 대한 다형성 테이블 및 관련 테이블 쿼리

분류에서Dev

Server Management Studio의 쿼리 + ssrs 보고서의 테이블 +-상관 된 하위 쿼리와 함께 선택 사용

분류에서Dev

Oracle SQL 삽입 쿼리-상위 및 하위 테이블에

분류에서Dev

관계형 테이블에 대한 동적 쿼리

분류에서Dev

를 사용하여 두 개의 열을 통해 하위 쿼리 상관 관계

분류에서Dev

하위 쿼리 및 테이블 조인에 대한 SQL 도움말

분류에서Dev

동적 테이블 이름을 사용하는 MySQL 8.0의 재귀 쿼리

분류에서Dev

쿼리를 사용하여 상위 및 하위 데이터 가져 오기

분류에서Dev

유사한 다 대일 관계 SQL 쿼리 수정이 하나 이상있는 사용자 만 선택

분류에서Dev

테이블을 재사용하는 3 개의 테이블에 대한 SQL 쿼리

분류에서Dev

여러 매개 변수를 사용하여 다른 테이블과 일대 다 관계로 테이블을 쿼리하려면 어떻게해야합니까?

분류에서Dev

상관 하위 쿼리를 사용하지 않고이 쿼리를 다시 작성해야합니다.

분류에서Dev

조인을 사용하여 피벗 테이블 및 관련 데이터를 검색하는 Eloquent 쿼리

분류에서Dev

임시 테이블을 업데이트하기위한 복잡한 쿼리입니다. 아마도 파생 된 테이블 또는 상관 하위 쿼리?

분류에서Dev

여러 조건 및 기타 관계가있는 하위 쿼리에 대한 jpql 쿼리를 작성하는 방법

Related 관련 기사

  1. 1

    다 대다 관계가있는 두 테이블에 대한 CTE 재귀 쿼리

  2. 2

    상위 하위 관계에 대한 테이블의 값을 집계하고 업데이트하는 Spark 쿼리

  3. 3

    has_many through : in Rails를 사용하여 현재 및 이전 관계 쿼리

  4. 4

    거대한 테이블에 대한 SQL 계산 및 다중 하위 쿼리

  5. 5

    다 대다 관계의 브리징 테이블에서 데이터를 검색하기위한 쿼리

  6. 6

    Sequelize : 2 개 이상의 테이블 관계에 대한 OR 쿼리

  7. 7

    페이지 매김을 사용하는 Laravel Eloquent 쿼리 재귀 관계 모델

  8. 8

    계층 및 피어에 대한 재귀 쿼리

  9. 9

    관계를 사용하여 Android Room 검색 및 필터링, 여러 테이블 쿼리

  10. 10

    이 테이블 및 관계에 대한 쿼리를 파악할 수 없습니다.

  11. 11

    기능 테이블 (AND 조건)을 사용하여 다 대다 관계를 쿼리하는 방법

  12. 12

    재귀 계층 구조-Linq를 사용한 재귀 쿼리

  13. 13

    Sequelize-where 및 limit를 사용하여 다 대다 관계로 쿼리

  14. 14

    DBDesigner를 사용하여 ERD에서 관계에 대한 쿼리

  15. 15

    레코드에 대한 다형성 테이블 및 관련 테이블 쿼리

  16. 16

    Server Management Studio의 쿼리 + ssrs 보고서의 테이블 +-상관 된 하위 쿼리와 함께 선택 사용

  17. 17

    Oracle SQL 삽입 쿼리-상위 및 하위 테이블에

  18. 18

    관계형 테이블에 대한 동적 쿼리

  19. 19

    를 사용하여 두 개의 열을 통해 하위 쿼리 상관 관계

  20. 20

    하위 쿼리 및 테이블 조인에 대한 SQL 도움말

  21. 21

    동적 테이블 이름을 사용하는 MySQL 8.0의 재귀 쿼리

  22. 22

    쿼리를 사용하여 상위 및 하위 데이터 가져 오기

  23. 23

    유사한 다 대일 관계 SQL 쿼리 수정이 하나 이상있는 사용자 만 선택

  24. 24

    테이블을 재사용하는 3 개의 테이블에 대한 SQL 쿼리

  25. 25

    여러 매개 변수를 사용하여 다른 테이블과 일대 다 관계로 테이블을 쿼리하려면 어떻게해야합니까?

  26. 26

    상관 하위 쿼리를 사용하지 않고이 쿼리를 다시 작성해야합니다.

  27. 27

    조인을 사용하여 피벗 테이블 및 관련 데이터를 검색하는 Eloquent 쿼리

  28. 28

    임시 테이블을 업데이트하기위한 복잡한 쿼리입니다. 아마도 파생 된 테이블 또는 상관 하위 쿼리?

  29. 29

    여러 조건 및 기타 관계가있는 하위 쿼리에 대한 jpql 쿼리를 작성하는 방법

뜨겁다태그

보관