좋아, 그래서 하나의 임시 테이블에 userID와 taskID가 있습니다. CompletedTasks라고합니다. userID 및 taskID가 포함 된 두 번째 테이블이 있습니다. PlannedTasks라고합니다.mysql "where not in"두 개의 열을 사용합니다.
완료되었지만 계획되지 않은 모든 taskID 목록을 가져와야합니다. 그래서, 어떻게 든 완료된 작업에서 모든 행을 제거해야합니다 어디 두 PlannedTasks.userID != CompletedTasks.userID AND PlannedTasks.taskID != CompletedTasks.taskID
.
이 질문이 의미가되기를 바랍니다. 명확하지 않은 경우 알려 주시면 더 자세히 설명하겠습니다.
팁 주셔서 감사합니다!
상태를 나타내는 데 추가 열이 필요하다고 생각합니다. 실제로 두 개의 테이블이 필요하지는 않습니다. – ajreal
@ajreal 좋은 지적입니다. 아마도 내가 제안한 방식으로 스키마를 조정할 것입니다. 팁을 감사드립니다! – PFranchise
나는 한 테이블과 상태 열보다 두 테이블을 선호하는데, 99 %의 시간. 그리고 1 개의 테이블 위에 11 개의 테이블과 10 개의 상태 컬럼이 있습니다. 하나 또는 여러 상태 열 (MysQL)을 검색하는 쿼리를 최적화하는 것은 쉽지 않습니다. –