0
我發現它很難用適當的標題標記這個問題,但也許這是因爲我不知道如何實現我的目標。選擇所有連接元素的條件滿足的元素
我有以下的數據庫佈局:
table: folders
columns: folderId
table: files
columns: fileId, authorId
table: file_relation
columns: folderId, fileId
table: authors
columns: authorId, surname, firstName
我怎麼努力實現的是上市,只有從筆者X Y(姓= X,名字= Y)包含文件夾的所有。我的方法是這樣的:
SELECT f.folderId FROM `folders` f
INNER JOIN `file_relation` rel ON rel.folderId = f.folderId
INNER JOIN `files` fls ON fls.fileId = rel.fileId
INNER JOIN `authors` a ON a.authorId = fls.authorId
WHERE a.surname = X and a.firstName = Y;
現在,列出所有文件夾中存在來自作者的文件。但是,我現在如何限制他們只有在沒有其他文件的情況下才能列出?
你可以使用不存在的地方 –
你是什麼意思「沒有其他文件」?您希望作者有1個文件但不超過1個文件的結果? –
謝謝,WHERE NOT EXISTS工作! @AlexJohnson:我補充說,在文件夾中沒有其他文件不是由作者X Y創建的。 – Muepe