【发布时间】:2014-09-01 08:45:19
【问题描述】:
我环顾四周,但似乎无法找到问题的答案。
问题来了: 我有 2 个 mysql 表:项目和标签。我使用第三个表(链接表)将多个标签分配给 1 个项目(请参阅下面的表设计)。
现在我正在尝试设计一个查询,该查询根据链接表中分配的标签过滤项目。对于某些标签,它必须是 AND,对于其他标签,它必须是 OR。例如,我想获取那些分配有标签 1 或(2 和 3)的项目。
项目: +----+-------------+---------+ |身份证 |职称 |信息 | +----+-------------+---------+ | 1 |世界你好 |地址 | +----+-------------+---------+ | 2 |福 |地址 | +----+-------------+---------+ 标签: +----+-------+ |身份证 |姓名 | +----+-------+ | 1 |标签 1 | +----+-------+ | 2 |标签 2 | +----+-------+ | 3 |标签 3 | +----+-------+ | 4 |标签 4 | +----+-------+ 链接表: +----+--------+--------+ |身份证 |物品编号 |标签ID | +----+--------+--------+ | 1 | 1 | 1 | +----+--------+--------+ | 2 | 1 | 2 | +----+--------+--------+ | 3 | 2 | 4 | +----+--------+--------+我无法提出正确的查询来执行此操作。你能帮忙吗?
【问题讨论】:
标签: mysql