MySQL查询给出的结果不正确

MySQL查询给出的结果不正确,mysql,join,self-join,Mysql,Join,Self Join,我有一张表格捐款申请 project_id | instrument_id -------------------------- 1 | 5 1 | 6 我需要检索项目id,该项目id为仪器id=5和仪器id=6,在本例中为1 我想这很简单,但我不知道怎么做 我尝试过许多不同的方法,但没有一种能给我正确的结果 如: SELECT cr.project_id FROM contribution_request as cr WHE

我有一张表格
捐款申请

project_id | instrument_id
--------------------------
     1     |       5
     1     |       6
我需要检索
项目id
,该项目id为
仪器id=5
仪器id=6
,在本例中为1

我想这很简单,但我不知道怎么做

我尝试过许多不同的方法,但没有一种能给我正确的结果

如:

SELECT cr.project_id 
FROM   contribution_request as cr 
WHERE  cr.project_id = 1 
  AND  cr.project_id = 6
或此

select p.id, cr.instrument_id from contribution_request as cr, project as p 
where p.id = cr.project_id 
  and cr.instrument_id = 1 
  and cr.instrument_id = 6  
请帮忙


使用或代替AND。列instrument_id不会有两个值


如果需要检查(5,6,7,8,…)中使用的更多值

请从my_表中选择项目id,其中仪表id(5,6)按项目id分组,计数(*)为2@草莓:你的解决方案不起作用`函数instrument\u id不存在``Typo:instrument\u id在(5,6)@Lorenzo中,在你的问题中,它只是关于两个仪器。您是否也需要解决未知仪器数量不限的问题?您是在寻找带命名工具的静态查询还是动态查询?它应该是cr1.project\u id=5@MartinK是的,你是对的,我纠正了它。我只是不理解一个项目id如何可以同时拥有两个值……也许这可以用
来解决,其中cr1.project\u id=5或cr2.project\u id=6
…飞走了…我坚持…应该是
,而不是
。。。“我说得对吗?”罗伯特·罗萨斯,不,你说得不对。看看我的例子,它展示了它是如何工作的。
SELECT cr1.project_id 
FROM contribution_request as cr1
INNER JOIN contribution_request as cr2 ON cr1.project_id = cr2.project_id 
WHERE cr1.instrument_id = 5 AND cr2.instrument_id = 6