除了“垂直位置”之外,我真的不知道如何解释。
想象一下下表:
TAGID|PRODUCTID|SHOP_ID
59 |3418-7 |38
61 |3418-7 |38
60 |4227-4 |38
61 |4227-4 |38
现在我想返回所有与标签 ID 相关的产品 ID:59,61。换句话说,两个标签 ID 都存在行的产品 ID 值。
所以我想返回 3418-7,而不是 4227-4
如何在 SQL 语句中尽可能简单地编写它?
这是我到目前为止的工作声明,但我觉得这可以以更聪明的方式完成:
SELECT
productid
FROM shop_tag_relations
WHERE
productid IN (select productid from shop_tag_relations WHERE tagid=59)
AND
productid IN (select productid from shop_tag_relations WHERE tagid=61)
GROUP BY productid,shop_id