두 테이블을 조인하고 ApprovedByLevel을 기반으로 최신 데이터를 가져 오는 SQL 쿼리

육감

데이터 테이블

여기에 이미지 설명 입력 .

CREATE TABLE [dbo].[Data](
    [RecordNumber] [int] NULL,
    [Data1] [nvarchar](10) NULL,
    [Data2] [nvarchar](10) NULL
) ON [PRIMARY]

여기에 이미지 설명 입력

승인 표

여기에 이미지 설명 입력

CREATE TABLE [dbo].[Approval](
    [RecordNumber] [int] NOT NULL,
    [ApprovedByLevel] [int] NOT NULL,
    [ApprovedByName] [nvarchar](50) NOT NULL
) ON [PRIMARY]

여기에 이미지 설명 입력

승인 테이블에는 기록 번호와 기록을 승인하는 사람이 저장됩니다.
많은 사람들이 동일한 레코드를 승인하고 마지막으로 데이터 테이블을 결합하여 최종 승인자 레벨 및 이름 만 표시하고 싶습니다.

결과에 대한 쿼리 예상

여기에 이미지 설명 입력

Ms-SQL Server 2014 사용

최신 정보

이것에

https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=d1c10b03c62b282d096a1f7d7dbfca4b

나는 결과를 얻고 싶다.

여기에 이미지 설명 입력

사라지다

row_number()창 함수를 사용 [ApprovedByLevel]하여 결과에서 원하는 것을 얻을 수 있습니다 .

select d.*, 
  COALESCE(a.[ApprovedByLevel], 0) AS [ApprovedByLevel], 
  a.[ApprovedByName]
from [Data] d left join (
  select *, 
    row_number() over (partition by [RecordNumber] order by [ApprovedByLevel] desc) rn
  from [Approval]
) a
on a.[RecordNumber] = d.[RecordNumber] and a.rn = 1

데모를 참조하십시오 .
결과 :

> RecordNumber | Data1 | Data2 | ApprovedByLevel | ApprovedByName
> -----------: | :---- | :---- | --------------: | :-------------
>         1001 | A     | AA    |               3 | Mr.C          
>         1002 | B     | BB    |               5 | Mr.DD
>         1003 | C     | CC    |               0 | 

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

날짜 차이를 기반으로 테이블을 가져 오는 SQl 쿼리

분류에서Dev

SQL 두 테이블을 조인하고 두 번째 테이블의 최신 항목 만 가져옵니다.

분류에서Dev

내부 조인, 별칭을 사용하여 두 테이블에서 데이터를 가져 오는 MySQL 쿼리

분류에서Dev

두 열을 다른 테이블의 한 열과 비교하는 SQL 쿼리 (및 두 값 가져 오기)

분류에서Dev

열 값을 기반으로 데이터를 가져 오는 SQL 쿼리

분류에서Dev

찾을 수없는 경우 SQL 쿼리가 null을 반환하는 두 개의 테이블을 조인

분류에서Dev

am_session 테이블에서 시간당 최대 로그인을 가져 오는 Oracle SQL 쿼리

분류에서Dev

SQL 쿼리-두 테이블의 고유 개수 가져 오기

분류에서Dev

관계없이 두 테이블을 조인하는 SQL 쿼리

분류에서Dev

조인을 사용하여 2 개의 행 데이터를 단일 행으로 가져 오는 SQL 쿼리

분류에서Dev

SQL Server 20008에서 데이터를 검색하여 테이블 이름을 가져 오는 쿼리

분류에서Dev

하나 이상의 조건을 기반으로 정보를 가져 오는 SQL 쿼리. 정확한 숫자 대신 조합 얻기

분류에서Dev

두 번째 테이블의 값을 한 번 가져 오는 SQL 쿼리

분류에서Dev

두 테이블의 datetime 필드를 비교하는 최신 데이터 가져 오기

분류에서Dev

동일한 테이블의 공통 열을 기반으로하는 두 쿼리의 SQL 교차

분류에서Dev

SQL 쿼리, 두 테이블에서 데이터를 가져 오는 방법

분류에서Dev

주어진 시나리오를 기반으로 두 테이블을 병합하는 SQL 논리

분류에서Dev

하나의 테이블에서 두 열을 기반으로 데이터 가져 오기

분류에서Dev

두 테이블을 자신에게 조인하고 두 테이블을 기반으로 값을 계산하십시오.

분류에서Dev

첫 번째 테이블의 정보를 기반으로 두 번째 테이블을 선택할 때 SQL 쿼리 구문을 지정하는 방법

분류에서Dev

현재 날짜를 기반으로 데이터를 가져 오는 SQL 쿼리

분류에서Dev

자식 테이블에서 최신 값을 가져 오는 MySQL 쿼리

분류에서Dev

두 쿼리에서 데이터를 하나로 가져 오기

분류에서Dev

Oracle-열 값을 기반으로 한 테이블에서 다른 테이블로 데이터를 비닝하는 SQL 쿼리?

분류에서Dev

조건 SQL을 사용하여 두 테이블에서 데이터 가져 오기

분류에서Dev

SQL Server의 열 값에 따라 열이있는 테이블을 가져 오기위한 SQL 쿼리 디자인

분류에서Dev

접합 테이블을 기반으로 두 테이블에서 데이터 가져 오기

분류에서Dev

특정 테이블의 열을 기반으로 두 테이블에서 데이터 가져 오기

분류에서Dev

SQL 쿼리 / 두 가지 조건에 따라 최신 항목 가져 오기

Related 관련 기사

  1. 1

    날짜 차이를 기반으로 테이블을 가져 오는 SQl 쿼리

  2. 2

    SQL 두 테이블을 조인하고 두 번째 테이블의 최신 항목 만 가져옵니다.

  3. 3

    내부 조인, 별칭을 사용하여 두 테이블에서 데이터를 가져 오는 MySQL 쿼리

  4. 4

    두 열을 다른 테이블의 한 열과 비교하는 SQL 쿼리 (및 두 값 가져 오기)

  5. 5

    열 값을 기반으로 데이터를 가져 오는 SQL 쿼리

  6. 6

    찾을 수없는 경우 SQL 쿼리가 null을 반환하는 두 개의 테이블을 조인

  7. 7

    am_session 테이블에서 시간당 최대 로그인을 가져 오는 Oracle SQL 쿼리

  8. 8

    SQL 쿼리-두 테이블의 고유 개수 가져 오기

  9. 9

    관계없이 두 테이블을 조인하는 SQL 쿼리

  10. 10

    조인을 사용하여 2 개의 행 데이터를 단일 행으로 가져 오는 SQL 쿼리

  11. 11

    SQL Server 20008에서 데이터를 검색하여 테이블 이름을 가져 오는 쿼리

  12. 12

    하나 이상의 조건을 기반으로 정보를 가져 오는 SQL 쿼리. 정확한 숫자 대신 조합 얻기

  13. 13

    두 번째 테이블의 값을 한 번 가져 오는 SQL 쿼리

  14. 14

    두 테이블의 datetime 필드를 비교하는 최신 데이터 가져 오기

  15. 15

    동일한 테이블의 공통 열을 기반으로하는 두 쿼리의 SQL 교차

  16. 16

    SQL 쿼리, 두 테이블에서 데이터를 가져 오는 방법

  17. 17

    주어진 시나리오를 기반으로 두 테이블을 병합하는 SQL 논리

  18. 18

    하나의 테이블에서 두 열을 기반으로 데이터 가져 오기

  19. 19

    두 테이블을 자신에게 조인하고 두 테이블을 기반으로 값을 계산하십시오.

  20. 20

    첫 번째 테이블의 정보를 기반으로 두 번째 테이블을 선택할 때 SQL 쿼리 구문을 지정하는 방법

  21. 21

    현재 날짜를 기반으로 데이터를 가져 오는 SQL 쿼리

  22. 22

    자식 테이블에서 최신 값을 가져 오는 MySQL 쿼리

  23. 23

    두 쿼리에서 데이터를 하나로 가져 오기

  24. 24

    Oracle-열 값을 기반으로 한 테이블에서 다른 테이블로 데이터를 비닝하는 SQL 쿼리?

  25. 25

    조건 SQL을 사용하여 두 테이블에서 데이터 가져 오기

  26. 26

    SQL Server의 열 값에 따라 열이있는 테이블을 가져 오기위한 SQL 쿼리 디자인

  27. 27

    접합 테이블을 기반으로 두 테이블에서 데이터 가져 오기

  28. 28

    특정 테이블의 열을 기반으로 두 테이블에서 데이터 가져 오기

  29. 29

    SQL 쿼리 / 두 가지 조건에 따라 최신 항목 가져 오기

뜨겁다태그

보관