我一直在努力解决这个问题。靠着墙走。我知道这一定很容易。
我要选择与引用表上的多个条件匹配的项。下面是一个可以帮助说明问题的示例模式

tblCars
------------
CarID
CarName

tblCarColors
------------
ColorID
Color

tblCarColorXRef
------------
ID
CarID
ColorID

基本上,我想找到我正在搜索的多种颜色的汽车。继续这个例子。假设汽车桌上的丰田是多色的。。黑色和黄色
丰田的CarID是1
黑色为1,黄色为2
我需要在tblCarColorXRef表中找到与1和2匹配的所有汽车。必须是“和”。我不想找到黑色或黄色的车,但同时包含黄色和黑色的车。
问题是,我可以搜索ColorID=1和ColorID=2的位置。那永远不会是真的,所以这才是头撞开始的地方。我需要用其他表中的其他条件包装这个查询,我接近HAVING和COUNT,但是,这不一定准确或正确。
旁注。。。汽车可以有1种或多种颜色与外部参照表。

最佳答案

你可以试试这个。

select carid
  from tblCarColorXRef
 where colorid in (1,2)
 group by carid
having count(colorid = 2);

您可以使用count(disinct colorid) = 2,如果汽车的颜色组合不是唯一的。

关于mysql - 在MySQL中查找具有多个引用值的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18221575/

10-16 13:45