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