我真的不知道如何解释,除了“垂直在哪里”。MSSQL选择“垂直” - 其中
想象一下如下表:
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
这是什么意思? “所有产品ID,与标签有关系:59,61” – YXD 2012-02-14 12:41:09
返回与tagid 59和61有关的产品。这是一张关系表,它描绘一张表中的产品和另一张表中的标签之间的关系。例如,如果3418是男士的棕色鞋,标签59可能是鞋,标签61可能是男士,72棕色等。 – Esben 2012-02-14 12:45:08