SQL - 서로 다른 두 테이블 사이의 최신 항목을 얻는 방법은 무엇입니까? (타임스탬프는 저장되지 않습니다)
P粉244155277
P粉244155277 2023-09-07 00:14:25
0
1
616

현재 진행 중인 프로젝트를 진행 중입니다. 引号 데이터베이스 구조가 잘 구성되어 있지 않아 이를 수정하기 위해 데이터베이스 스키마를 많이 변경할 수 없습니다.

데이터베이스 내:

  • 두 가지 유형의 인용문이 두 개의 서로 다른 테이블에 저장됩니다.
  • 가정 regular_quotespremium_quotes 두 개의 테이블이 있습니다.
  • 테이블 수납공간이 없는 상황日期/时间,没有任何与created_at相关的列,也没有备用存储日期/时间
  • 이 두 테이블 중 어느 테이블에 최신 항목이 있는지 확인해야 합니다.

표 1 常规引号

으아악

표 2 premium_quotes

으아악

내가 한 일은:

  • 새 테이블을 만들었습니다recent_quote_meta
  • 에는 다음 열이 있습니다: idquote_idquote_typecreated_atupdated_at, deleted_at
  • qny 견적이 생성될 때마다 recent_quote_meta 中,并使用 quote_id에 저장하고 quote_id를 사용합니다
  • 최신 quote_idquote_type을 받고 있으며 이를 바탕으로 그에 따라 견적을 받아 표시하고 있습니다

하지만 문제는 내가 데이터베이스를 변경하는 것을 원하지 않는다는 것입니다. 그리고 현재 상황에서는 그렇게 할 수 없다고 생각합니다.

이 테이블에 대한 최신 견적을 얻을 수 있는 방법이 있나요? regular_quotes 또는 regular_quotespremium_quotes

일 수 있습니다.

감사합니다!

P粉244155277
P粉244155277

모든 응답(1)
P粉956441054

타임스탬프 열이 없으면 두 테이블 중 최신 견적 항목이 있는 테이블을 확인하는 것이 실제로 불가능합니다. 우리가 시도할 수 있는 몇 가지 방법이 있지만 상황에 따라 그 방법이 신뢰할 수 있는지 여부가 결정됩니다.

한 가지 방법은 ID가 순서대로 할당되었는지 확인할 수 있고 두 테이블의 최신 ID를 알고 있으므로 이를 비교하여 가장 최근 견적이 있는 테이블을 확인할 수 있습니다. 예를 들어 regular_quotes 表中最新的 id3,并且 regular_quotes 表中最新的 id >premium_quotes表为5,可以断定premium_quotes 테이블에 최신 인용문이 있는 경우입니다.

으아악

각 테이블에서 가장 높은 ID 값을 반환합니다. 이 두 값을 비교하여 어떤 테이블에 최신 인용문이 있는지 확인할 수 있으며, id가 가장 높은 값을 갖습니다.

이상적으로는 관리자에게 이 문제를 해결하라고 지시하는 것이 좋습니다.

이 정보가 도움이 되기를 바랍니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿