갤러리와 갤러리를 연결하는 3 개의 테이블이 포함 된 mySQL 데이터베이스가 있습니다. 이미지는 "파일"테이블과 "갤러리"테이블의 갤러리에 저장되므로 중간에 "gallery_files"라는 테이블을 사용하여 연결합니다. "gallery_files"테이블은 주 테이블 각각의 2 개의 ID (F_ID, G_ID)로 구성됩니다.동일한 쿼리에서 mySQL 이중 필터링
파일/이미지를 둘 이상의 갤러리와 연결할 수 있으므로 서로 다른 G_ID에 대해 동일한 F_ID의 "gallery_files"레코드가있을 수 있습니다.
이제는 주어진 갤러리와 이미 연관되지 않은 모든 이미지를 가져 오는 mySQL 쿼리를 작성하려고합니다.
이(의는 ID와 갤러리를위한 가정 해 봅시다 : 9)
SELECT * FROM files
INNER JOIN gallery_files ON files.F_ID=gallery_files.F_ID
WHERE files.F_FILETYPE IN ('.jpg','.jpeg','gif','png')
AND files.F_DELETED = 0
AND gallery_files.G_ID <> 9
내 문제가있을 경우 다른 갤러리와 관련된 이미지의 기록은 아직도 그것을 가져 오는 것입니다 그래서 나는 다음과 같은 쿼리를 사용 . 나는 이것이 왜 일어나는지를 안다.하지만 나는 똑똑한 질문을 할 수 없다. 2 개의 쿼리를 사용하여이를 해결하는 방법을 알고 있지만 가능한 경우이를 피하고 싶습니다.
의견이 있으십니까?
9. 정말 감사했다
files
에서 해당 행을 얻을 . 저것은 일했다! :) –