lead_id가 테이블에 여러 번 나타나는지 확인하고, 그렇다면 쿼리에서 제외하는 방법이 있나요? 그 이유는 status_id = 1이고 해당 Lead_id에 대한 다른 status_id/행이 없는 경우에만 새 행을 추가하고 싶기 때문입니다.
데이터베이스는 모든 상태 업데이트가 새 행을 생성하는 방식으로 설계되었습니다. 따라서 이전 행에는 이전 타임스탬프가 있고 데이터베이스 테이블에 남아 있으며 이는 프런트엔드의 상태 기록 구성 요소에 표시됩니다. 하지만 이런 방식으로 설계되었기 때문에 단순히 각 사용자에게 상태 1과 새로운 상태 업데이트를 제공한다고 말할 수는 없습니다. 그러면 모든 리드가 status_id 1로 데이터베이스에 입력되므로 각 Lead_id에 대한 행이 추가됩니다.
지금까지 사용한 쿼리:
으아악데이터의 모습:
lead_id | status_id | 더 많은 데이터 |
---|---|---|
1 | 1 | 데이터 |
1 | 12 | 데이터 |
2 | 1 | 데이터 |
2 | 14 | 데이터 |
3 | 1 | 데이터 |
4 | 1 | 데이터 |
5 | 1 | 데이터 |
6 | 1 | 데이터 |
새 리드(양식 제출)마다 행이 생성되고 해당 리드에 status_id 1(상태: 신규)이 부여됩니다. 200개 이상의 리드를 1에서 다른 status_id로 일괄 업데이트해야 하지만 지금 가지고 있는 쿼리를 사용하면 status_id가 1인 모든 행이 업데이트됩니다. 내가 원하는 것은 먼저 Lead_id가 테이블에 한 번만 존재하는지 확인한 다음 true인 경우 업데이트된 status_id를 사용하여 새 행을 추가하는 것입니다.
따라서 SQL 쿼리 후에는 다음과 같아야 합니다.
lead_id | status_id | 더 많은 데이터 |
---|---|---|
1 | 1 | 데이터 |
1 | 12 | 데이터 |
2 | 1 | 데이터 |
2 | 14 | 데이터 |
3 | 1 | 데이터 |
3 | 12 | 데이터 |
4 | 1 | 데이터 |
4 | 12 | 데이터 |
5 | 1 | 데이터 |
5 | 12 | 데이터 |
6 | 1 | 데이터 |
6 | 12 | 데이터 |
TLDR: Lead_id가 테이블에서 한 번만 발견되면 status_id가 있는 새 행을 추가하세요.
테이블의 각 행에 고유한 ID가 있는 경우 다음과 같은 쿼리를 사용할 수 있습니다
으아아아그리고 아이디도 없습니다
으아아아