mysql 데이터베이스 (칵테일 제조법 웹 사이트)에서 중복 결과를 찾는데 문제가 발생했습니다. 여기서 셋업 :MySQL 쿼리 문제 (결과 중복)
표 1의 '칵테일'
[CID, c_name (CID = 고유 칵테일 ID, c_name = 칵테일 이름)
표 2 '재료'
[IID, i_name (IID = 고유 성분 ID, i_name = 성분명)
표 3 'cocktail_ingredients'(링킹 테이블)
[ciid, CID, IID (ciid = 고유 행 식별자 CID = 칵테일 CID, IID = 성분 iid)
그래서 하나의 칵테일은 'cocktail_ingredients'테이블 (1 to many)에 여러 행을 가질 수 있습니다.
설치가 정상입니다. 문제는 현재 데이터베이스에 중복 된 칵테일이 있는지 찾아내는 것입니다. 예를 들어
cocktail_ingredients 테이블이 이러한 항목이 있다면 :
CID를 | iid
1 | 56
1 | 78
1 | 101
. . .
9 | 56
9 | 78
9 | 101
칵테일은 동일합니다 (어쨌든 이론적 인 목적을 위해). 'cocktail_ingredients'테이블이 하나 개 더 행이 있다면
...
9 | 103
다음은 칵테일 번호 9에 추가 재료가 포함되어 있으므로 동일하지 않습니다.
그래서 mysql은 2 가지 검사를 수행해야합니다. 첫째, 성분 수는 동일하고 두 번째로 모든 성분 id (iid)는 해당 칵테일 (cid)과 동일합니다.
이 하나에 난처한 그림이있어 도움을 많이 주셨습니다. 나는 PHP 루트를 따라 가면서 좀 더 복잡한 코드를 작성해야 할 수도 있다고 생각하지만, 거기서 고심하고있어, 이것이 멈추고 물어볼 좋은 장소라고 생각했다.
감사
이
두 개의 칵테일에 동일한 성분이 들어 있기 때문에 동일한 칵테일 일 필요는 없습니다. 수량은 다양 할 수 있습니다. –
그래, 이걸 이해해 - 왜 내가 "이론적 인 목적으로"말했다. 분명히 혼합하는 방법, 금액 및 다른 변수의 호스트가 그것을 바꿀 수 있습니다. 그러나 그것은 확실히 저를 통해 처음부터 볼 수있는 좋은 기반을 제공합니다. –