일부 배경 나는 Skyrim에서 연금술 재료와 그 효과를 나타내는 일련의 데이터를 가지고 있습니다. 당신이 이것에 익숙하지 않다면 당신은 물약을 만들기 위해 2-4 개의 재료를 결합 할 수 있습니다. 각 재료에는 4 가지 효과가 있습니다. 재료들 사이의 효과가 동일하다면 그 종류의 묘약을 만들 것입니다. 내가 다 대다 관계로이 문제를 확인했습니다 내가 그렇게처럼 내 테이블을 설정 :MySQL을 처음 접 하시다 다 - 대 - 다 관계 쿼리
성분 : ing_id (키), ing_name (기타 추가 정보)
효과 : eff_id를 (키) , eff_id 내가 입력 2 이상의 사용 가능한 성분을 좋아하고 영향이 무엇인지 모른 채 가능한 조합을 반환
을 ing_id :
ing_eff_xref을 eff_name. 필자의 sql 경험은 phpMyAdmin과 간단한 select 쿼리에 상당히 제한되어 있습니다. 내 질문을 짐작 :이 관계의 유형에 대한 테이블 구조를 올바른 방법입니다, 만약 내가 테이블을 업데이 트 계획이 없으면 외래 키를 설정해야합니까, 거기에 집합을 취할 수있는 쿼리입니다 ing_names 및 교차하는 eff_names 만 반환합니까? 여기
아무도 관심이 경우 DB의 mysqldump는 다음과 같습니다 http://dl.dropbox.com/u/59699040/alchemy_db.sql
저에게 다시 연락 주셔서 감사합니다. 두 번째 쿼리는 확실히 실행 가능한 솔루션입니다. 효과는 겹쳐지지 않지만 거기에 일치하는 효과가 두 개 이상 있기 때문에 PHP에서 1보다 큰 수의 효과를 추출 할 수 있습니다. 첫 번째 쿼리에서 무슨 일이 일어나고 있는지 모르겠지만 SELECT DISTINCT와 반대되는 것이 있다면 필요한 것입니다. 도움을 주셔서 감사합니다, 그것은 눈을 뜨게되었습니다. – pdizz
도와 줘서 기쁩니다! 이것은 재미있는 일이었습니다. – Aaron
이제 내가 뭘 찾아야할지 알고 있는데, 중복 된 것을 찾은이 기사를 찾았습니다. http://www.petefreitag.com/item/169.cfm 내가 HAVING (COUNT (email)> 1)을 추가 할 수 있었지만 eff_name을 사용하여 그것을 좁히십시오. – pdizz