我有一個mySQL數據庫,其中包含3個表格以將圖庫與圖像相關聯。圖像存儲在表格「文件」和表格「畫廊」中的畫廊中,因此我使用名爲「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個查詢來解決這個問題,但我希望儘可能避免它。
有什麼想法?
非常感謝你。那一個工作! :) – 2012-03-08 16:59:50