【发布时间】:2015-01-11 17:37:48
【问题描述】:
我有一个包含产品和标签列的多对多表。如何查询“给我在其映射中只有这些标签之一的产品列表。
输入:'3'(这对应于映射表中的 tagid 列) 预期输出:4(这对应于映射的最后一行中的 productid 列值。请注意 productid 1 未返回,因为 1 具有与之关联的其他映射(标签 1 和标签 2))。
-- Table: Product
+---------+-----------+
| productid | name |
+---------+-----------+
| 1 | HTC |
| 2 | Nokia |
| 3 | Samsung |
| 4 | Motorolla |
+---------+-----------+
-- Table: Mappings
+------+-----------+
| tagid| productid |
+------+-----------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 3 |
| 3 | 1 |
| 3 | 4 |
+------+-----------+
-- Table: Tags
+------+-------+
| tagid | name |
+------+-------+
| 1 | blue |
| 2 | black |
| 3 | pink |
+------+-------+
【问题讨论】:
-
编辑您的查询并显示您想要的结果。