This question 내가 수행하고 싶은 작업은 거의 수행되지만 내 테이블은 더 복잡하고 기본 키가 없습니다. 나는 또한 t1과 t2가 무엇을 의미하는지에 대한 최고의 답을 이해하지 못한다. 이 대답이 나에게도 해당된다면 누군가 코드를 설명해 주시면 감사하겠습니다.중복 레코드 중 첫 번째를 유지하고 나머지는 삭제하십시오.
나는 클라이언트에 대한 정보와 그들이 보유한 정책을 포함하는 몇 달짜리 테이블을 가지고 있습니다. 모든 클라이언트에는 고유 한 정책 ID가 있지만 여러 정책을 가질 수 있으므로 동일한 정책 ID로 여러 레코드가 생성됩니다. 중복 레코드는 모든 필드에서 완전히 다를 수도 똑같을 수도 있습니다.
내 용도로는 각 정책 ID마다 하나의 레코드 만 보관하고 싶습니다. 이상적으로 기록은 가장 높은 연령 인 인 기록이지만 너무 복잡 할 경우에는 필요하지 않습니다. 해당 정책 아이디의 최대 나이를 가진 레코드가 두 개 이상있을 수 있습니다. 그러면 어떤 아이디가 유지되는지는 중요하지 않습니다.
동일한 정책 ID로 두 개의 레코드를 보관할 경우가 있기 때문에 기본 키를 만들지 않으므로 직접 코드를 수정합니다. 또한 10+ 테이블로 작업하기 때문에 다른 테이블을 만들고 싶지 않습니다. 누군가 first()
을 사용하여 제안했지만 쿼리에 통합하는 방법을 모르겠습니다.
추가 정보가 필요하면 알려주세요. 미리 도움을 주셔서 감사합니다. 내 질문이 조금 비현실적처럼
1
좋아 ========= UPDATE 번호는, 보이는, 그래서 나는 일련 번호 기본 키를 추가합니다. 어떻게 진행하나요? 이 라인에
당신은 정말 그것이 너무 쉽게 하나의 레코드를 식별하게하고 DUPS를 삭제 도움이 같은 기본 키를 추가하는 것을 고려한다. 프라이 머리 키를 가지고 있다고해서 여전히 dup을 가질 수 없다는 것을 의미하지는 않습니다. –
나는 당신이 무언가에 굴복해야한다고 생각합니다. 새 테이블을 작성해야하거나 고유 한 키를 추가해야합니다. – Fionnuala