약간 복잡한 쿼리를 작성해야합니다.여러 테이블에서 MySQL 쿼리를 사용 중입니다.
이 내 데이터베이스 구조입니다 :
이사용자 추가/필터를 입력하고 필터에 따라, 잡지와 신문의 표시 특파원 모음이있을 것이다 것입니다.
가능한 필터는 다음과 같습니다
- 잡지/신문 이름
- FROMDATE
- 결과는 잡지 나 신문 또는 둘 모두
- 에서만 경우 TODATE
- 선택은 수집 된 경우 분석 된 또는 아니요
글쎄, 사용자가 이름, 두 날짜, 잡지 및 신문 모두를 입력하고 분석 된 컬렉션 만 입력하면 쿼리는 어떻게 생겼습니까? 나는 collectionDate, newspaper/magazine 이름을 from과 to 날짜로 표시하려고합니다. 나는 질의를 알아 내려고 노력했지만 약간 어려움을 겪고있다.
제안 사항이 있습니까? 희망은 다 명확하다 :)
고마워!
시도한 코드가 있습니까? – kmas
그림에서 ID가 대상 테이블과 다른 테이블간에 어떻게 상관되는지는 분명하지 않습니다. 나는 그것을 가져 가라. target.type은 'collection', 'magazine'또는 'newspaper'가 될 것이고, 그런 다음 ssnID는 해당 테이블의 ID인가? –
@Joe T, 더 명확 해 지도록 ID를 강조 표시하려고했습니다. 잡지와 신문은 대상의 하위 유형입니다 (미안하지만, MySQL Workbench에서 이것을 어떻게 표현할 지 확신 할 수 없습니다). 따라서 targetID는 신문사 ID 또는 잡지 ID (PKs) 중 하나입니다. ssnID는 newspaperID 또는 magazineID와 일치하지만이 쿼리에는 사용되지 않습니다. Collections는 Target의 하위 유형이 아니지만 Collection은 특정 컬렉션과 관련된 대상을 식별하기 위해 targetID를 외래 키로 사용합니다. –