我很惭愧在 MySQL 查询中遇到麻烦,它应该是易于中型的......所以我希望你能帮我摆脱这个困境!;)
简化事情,我有3个表:
1)出版物(列:idpub(主要)等),其中每条记录都是参考书目
2) pubs_index (colums: idpub, idindex) 这是发布和 index_entries 之间的链接表
3) index_entries (colums: idindex, name),其中包含可用于索引 pulications 的关键字列表
每个出版物可以用 0 到 n 个 index_entries 进行索引。
在我的查询中,我想检索已使用所有关键字“狗”、“猫”和“鼠标”编入索引的出版物。
我尝试了各种 JOIN 组合,但到目前为止都没有成功。这是我最新的可行尝试为例:
SELECT distinct publications.idpub)
FROM index_entries as index_entries2, index_entries as index_entries3, publications LEFT JOIN pubs_index ON publications.idpub = pubs_index.idpub
INNER JOIN index_entries ON bib_index.idindex=index_entries.idindex
WHERE AND bib_index.idindex=index_entries2.idindex
AND bib_index.idindex=index_entries3.idindex
AND index_entries.name like 'dog'
AND index_entries2.name like 'cat'
AND index_entries3.name like 'mouse';
在此先感谢您的帮助!