我有3个表格。查找多个关系表上的连接记录
- 游表(可选)
- 旅游标签关联表(optional_tag_rel)
- 旅游主题关联表(optional_theme_rel)
漫游可以有多个标签和多个主题。所以我写了什么和sql语句来查找指定的游览。例如找到旅行团,其中标签ID = 10和15的主题ID = 36和45
SELECT DISTINCT (t1.id) FROM optional AS t1
LEFT JOIN optional_theme_rel as t3 ON t3.tour_id = t1.id AND (t3.theme_id =36 OR t3.theme_id =45)
LEFT JOIN optional_tag_rel as t2 ON t2.tour_id = t1.id AND (t2.tag_id = 10 OR t2.tag_id =15)
GROUP BY optional.id
这些语句获取其主题ID = 36或45的所有记录,但我需要使用AND陈述但是当我使用而不是OR,它不显示记录。在sql上必须有不同的方式,但我不太了解它。
这起作用。我一直在寻找这个答案几天。我需要学习mysql语句。再次感谢。 – dorayaki