저는 일대 다 관계를 유지하고있는 MySQL 테이블을 가지고 있습니다. 표는 foosball 통계 프로그램에 대한 파트너 목록을 저장하는 것입니다. 플레이어는 0, 1 또는 2 명의 파트너를 가질 수 있습니다. 예를 들어일대 다 검색 쿼리
:
___________________________________
| Table index | Partners | Players |
| 1 | 1 | John | - Singles, no partners
| 2 | 2 | John | - Doubles, John and Bob
| 3 | 2 | Bob | - Doubles, John and Bob
| 4 | 3 | Dave | - Roto doubles, Dave, Bob, John
| 5 | 3 | Bob | - Roto doubles, Dave, Bob, John
| 6 | 3 | John | - Roto doubles, Dave, Bob, John
| 7 | 4 | Dave | - Singles, no partners
____________________________________
나는 테이블에서 파트너를 추가하고 검색 할 PHP 스크립트를 쓰고 있어요 및 내 쿼리에 문제가 있어요. 나는 선수를 알고 파트너 필드를 검색하려고합니다. 수행해야 할 세 가지 질문이 있습니다.
- 파트너 없음 - 수표;
- 특정 파트너 확인 - "Dave"와 배정.
- 두 특정 파트너 확인 - "Bob and Dave"와 복식;
항목이 있으면 그것을 검색하고 싶습니다. 그런 다음 해당 항목을 표에 추가합니다. 내가 가진 문제 중 하나는 예를 들어, 플레이어 "John"이 세 개의 항목, 파트너 없음, 파트너 한 명 및 파트너 2 명을 포함합니다. 엔트리 1 만 빼고 2 나 6을 빼는 방법은 어떻게 지정합니까?
여기를 검색해 보았지만 내가 필요로하는 것이 아닌 가까운 두 가지 예제를 발견했습니다. 이 하나의 mySQL: Querying one-to-many -table?은 내가 필요한 것을 거의 수행하지만 꽤하지는 않습니다.
도움을 주시면 감사하겠습니다.
크리스
4 명의 파트너 인 마지막 행이 "싱글을 파트너로 사용하지 않음"을 의미하는 이유는 무엇입니까? – Blazemonger
파생 정보 만 보관하고 있습니다. 유지 보수가 어려울 수 있습니다. 누구와도 파트너 관계를 맺고있는 정보를 입력 할 필요가 없습니까? 이 경우 파트너 관계 테이블을 유지하고 쿼리를 통해 플레이어 당 파트너 수를 유도하십시오. – reinierpost
죄송합니다. 열 제목 "partners"의 이름이 "partnerID"인 것이 좋습니다. 주어진 개인이 가진 파트너의 수가 아니라 파트너 관계를 나타내는 지수입니다. 저의 원래 게시물은 오해의 소지가 있습니다. – vrstud