한 테이블의 타임 스탬프를 다른 테이블에서 선택하기위한 간격으로 사용

always_confused

MySQL2 개의 테이블이있는 데이터베이스를 사용하고 있습니다. 내 목표는 한 테이블에서 주어진 간격을 사용하여 다른 테이블에서 값을 선택하는 것입니다. 내 예에서는 select ErrorCode WHERE Errors. Time_Stamp is between Batch. Time_Stamp for each BatchNum.

CREATE TABLE Batch (BatchNum INT, Time_Stamp DATETIME);
INSERT INTO Batch VALUES (1,'2020-12-17 07:29:36'), (1, '2020-12-17 08:31:56'), (1, '2020-12-17 08:41:56'), (2, '2020-12-17 09:31:13'), (2, '2020-12-17 10:00:00'), (2, '2020-12-17 10:00:57'), (2, '2020-12-17 10:01:57'), (3, '2020-12-17 10:47:59'), (3, '2020-12-17 10:48:59'), (3, '2020-12-17 10:50:59');

CREATE TABLE Errors (ErrorCode INT, Time_Stamp DATETIME);
INSERT INTO Errors VALUES (10, '2020-12-17 07:29:35'), (11, '2020-12-17 07:30:00'), (12, '2020-12-17 07:30:35'), (10, '2020-12-17 07:30:40'), (22, '2020-12-17 10:01:45'), (23, '2020-12-17 10:48:00');

이 중에서 2 개를 선택하고 싶습니다.

  1. SELECT BatchNum, ErrorCode, Errors.Time_Stamp WHERE Erorrs.Time_Stamp BETWEEN 배치 시작과 배치 끝과 같은 것

    | BatchNum | ErrorCode |  Errors.Time_Stamp   |
    +----------+-----------+---------------------+
    |        1 |        11 | 2020-12-17 07:30:00 |
    |        1 |        12 | 2020-12-17 07:30:35 |
    |        1 |        10 | 2020-12-17 07:30:40 |
    |        2 |        22 | 2020-12-17 10:01:45 |
    |        3 |        23 | 2020-12-17 10:48:00 |
    +----------+-----------+---------------------+
    
  2. 그리고 SELECT BatchNum, ErrorCode, Errors.Time_Stamp WHERE Erorrs.Time_Stamp BETWEEN 특정 배치의 시작과 같은 것 (여기서는 배치 1의 경우)

    | ErrorCode |  Errors.Time_Stamp  |
    +----------+-----------+----------+
    |        11 | 2020-12-17 07:30:00 |
    |        12 | 2020-12-17 07:30:35 |
    |        10 | 2020-12-17 07:30:40 |
    +----------+-----------+----------+
    

나는 사용하고 있습니다 :

select *
from (
    select e.*,
        lag(BatchNum) over(order by time) lag_BatchNum
    from Batch e
) e
where not lag_BatchNum <=> BatchNum

BatchNum변경 사항 을 찾을 수 있지만 다른 선택 항목에 이것을 포함하여 ErrorCodes다른 BatchNum.

이 일종의 아마 JOIN내가 할 수있는 일이,하지만 내 주요 문제는 내가 사이의 오류를 얻을 시간 간격을 얻는 방법이다.

도움을 주셔서 감사합니다

GMB

나는 당신이 원한다고 생각합니다 :

select b.*, e.error_code, e.time_stamp as error_timestamp
from (
    select b.*,
        lead(time_stamp) over(order by time_stamp) lead_time_stamp
    from batch b
) b
inner join errors e 
    on  e.time_stamp >= b.time_stamp
    and (e.time_stamp < b.lead_time_stamp or b.lead_time_stamp is null)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

분석 함수를 사용하여 동일한 테이블에서 다음으로 가장 최근의 타임 스탬프를 찾는 방법

분류에서Dev

MariaDB를 사용하여 루프에서 다른 테이블의 값으로 한 테이블에 행 삽입

분류에서Dev

PHP를 사용하여 한 테이블에서 다른 테이블로 선택하면 행 추가

분류에서Dev

Java를 사용하여 Cassandra의 한 테이블에서 다른 테이블로 데이터 복사

분류에서Dev

MySQL은 테이블의 특정 ID에 대한 두 타임 스탬프 열 간의 평균 시간 차이를 선택합니다.

분류에서Dev

dataframe-다른 열의 값을 기반으로 한 타임 스탬프 사이의 시간 범위

분류에서Dev

MySQL은 한 테이블에서 다른 필드의 다른 테이블로 데이터를 복사합니다.

분류에서Dev

SQL Server 한 테이블에서 다른 테이블로 임의 데이터 복사

분류에서Dev

값을 기준으로 테이블 1에서 모두를 선택한 다음 해당 테이블의 값을 사용하여 동일한 테이블에서 선택하는 방법은 무엇입니까?

분류에서Dev

한 테이블의 PK를 다른 테이블의 PK로 사용

분류에서Dev

postgreSQL에서 트리거를 사용하여 한 테이블에서 다른 테이블로 데이터 이동

분류에서Dev

php lastInsertId ()를 사용하여 한 테이블의 기본 키를 외래 키로 다른 테이블에 삽입

분류에서Dev

커밋 간격을 사용하여 한 테이블에서 다른 테이블로 삽입

분류에서Dev

pgadmin을 사용하여 한 테이블에서 동일한 데이터베이스의 다른 테이블로 데이터 행 복사

분류에서Dev

한 테이블에서 다른 테이블로 열 복사

분류에서Dev

테이블의 새 ID로 한 테이블에서 다른 테이블로 관계를 전송하는 방법

분류에서Dev

jquery를 사용하여 한 tbody 테이블에서 다른 tbody 테이블로 복제 또는 복사

분류에서Dev

첫 번째 쿼리 ID가 다른 테이블에서 사용되는 한 번의 클릭으로 두 테이블에 데이터를 삽입하는 방법

분류에서Dev

C #의 다른 매개 변수를 사용하여 mysql의 한 테이블에서 다른 테이블로 값을 삽입하는 방법

분류에서Dev

사용 스프링 데이터 JPA는 다른 테이블에서 열을 기준으로 한 테이블 순서에서 열을 기준으로 찾기

분류에서Dev

다른 테이블과의 자연 조인에서 필드를 사용하여 한 테이블에서 mySQL DELETE?

분류에서Dev

한 테이블에서 데이터를 선택한 다음 SQL Server의 다른 테이블을 기반으로 열 이름을 바꿉니다.

분류에서Dev

한 테이블에서 값을 찾고 join / awk를 사용하여 다른 테이블로 출력

분류에서Dev

다른 테이블의 열 값을 기반으로 한 테이블에서 선택하는 SQL 쿼리

분류에서Dev

한 테이블에서 다른 테이블로 데이터 복사를위한 쿼리 실행

분류에서Dev

답변을위한 데이터 프레임으로 사용하기 위해 스택 오버플로 (SO) 질문의 테이블에 액세스

분류에서Dev

PHP / MySQL의 타임 스탬프를 JSON Google 차트 테이블로 사용하는 방법

분류에서Dev

Yii : 한 테이블에서 다른 테이블로의 관계

분류에서Dev

불규칙한 H : M : S 타임 스탬프 데이터를 R의 시간 간격으로 결합

Related 관련 기사

  1. 1

    분석 함수를 사용하여 동일한 테이블에서 다음으로 가장 최근의 타임 스탬프를 찾는 방법

  2. 2

    MariaDB를 사용하여 루프에서 다른 테이블의 값으로 한 테이블에 행 삽입

  3. 3

    PHP를 사용하여 한 테이블에서 다른 테이블로 선택하면 행 추가

  4. 4

    Java를 사용하여 Cassandra의 한 테이블에서 다른 테이블로 데이터 복사

  5. 5

    MySQL은 테이블의 특정 ID에 대한 두 타임 스탬프 열 간의 평균 시간 차이를 선택합니다.

  6. 6

    dataframe-다른 열의 값을 기반으로 한 타임 스탬프 사이의 시간 범위

  7. 7

    MySQL은 한 테이블에서 다른 필드의 다른 테이블로 데이터를 복사합니다.

  8. 8

    SQL Server 한 테이블에서 다른 테이블로 임의 데이터 복사

  9. 9

    값을 기준으로 테이블 1에서 모두를 선택한 다음 해당 테이블의 값을 사용하여 동일한 테이블에서 선택하는 방법은 무엇입니까?

  10. 10

    한 테이블의 PK를 다른 테이블의 PK로 사용

  11. 11

    postgreSQL에서 트리거를 사용하여 한 테이블에서 다른 테이블로 데이터 이동

  12. 12

    php lastInsertId ()를 사용하여 한 테이블의 기본 키를 외래 키로 다른 테이블에 삽입

  13. 13

    커밋 간격을 사용하여 한 테이블에서 다른 테이블로 삽입

  14. 14

    pgadmin을 사용하여 한 테이블에서 동일한 데이터베이스의 다른 테이블로 데이터 행 복사

  15. 15

    한 테이블에서 다른 테이블로 열 복사

  16. 16

    테이블의 새 ID로 한 테이블에서 다른 테이블로 관계를 전송하는 방법

  17. 17

    jquery를 사용하여 한 tbody 테이블에서 다른 tbody 테이블로 복제 또는 복사

  18. 18

    첫 번째 쿼리 ID가 다른 테이블에서 사용되는 한 번의 클릭으로 두 테이블에 데이터를 삽입하는 방법

  19. 19

    C #의 다른 매개 변수를 사용하여 mysql의 한 테이블에서 다른 테이블로 값을 삽입하는 방법

  20. 20

    사용 스프링 데이터 JPA는 다른 테이블에서 열을 기준으로 한 테이블 순서에서 열을 기준으로 찾기

  21. 21

    다른 테이블과의 자연 조인에서 필드를 사용하여 한 테이블에서 mySQL DELETE?

  22. 22

    한 테이블에서 데이터를 선택한 다음 SQL Server의 다른 테이블을 기반으로 열 이름을 바꿉니다.

  23. 23

    한 테이블에서 값을 찾고 join / awk를 사용하여 다른 테이블로 출력

  24. 24

    다른 테이블의 열 값을 기반으로 한 테이블에서 선택하는 SQL 쿼리

  25. 25

    한 테이블에서 다른 테이블로 데이터 복사를위한 쿼리 실행

  26. 26

    답변을위한 데이터 프레임으로 사용하기 위해 스택 오버플로 (SO) 질문의 테이블에 액세스

  27. 27

    PHP / MySQL의 타임 스탬프를 JSON Google 차트 테이블로 사용하는 방법

  28. 28

    Yii : 한 테이블에서 다른 테이블로의 관계

  29. 29

    불규칙한 H : M : S 타임 스탬프 데이터를 R의 시간 간격으로 결합

뜨겁다태그

보관