我有一个标签名称,我需要从标签表中获取标签 ID,然后在分类表中查找与该标签 ID 匹配的所有 id,然后获取与分类表中的 id 匹配的所有项目。我可以在 1 个查询中完成所有操作还是需要子查询?这是数据库结构的示例
tags database
tid, tag
tags taxonomy database
id, wid, tid
items databse
wid, *
我有标签数据库中的标签,我需要从标签数据库中获取tid,然后从分类数据库中返回所有wid,其中tid等于我们刚刚获取的内容,然后从项目数据库中返回*。我可以通过运行 2 个单独的查询来完成此操作,但我希望只用 1 个查询即可完成。 谢谢
最佳答案
您只需加入
表格即可:
select *
from tags tg
left join taxonomy tx
on tg.tid = tx.tid
left join items i
on tx.wid = i.wid
如果您不熟悉 JOIN
语法,这里有一篇很好的文章:
关于mysql - 连接 3 个 MySQL 表的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12677840/