MySQL Query提供的结果不正确

时间:2014-06-11 15:09:16

标签: mysql join self-join

我有一张表contribution_request

project_id | instrument_id
--------------------------
     1     |       5
     1     |       6

我需要检索project_id instrument_id=5的{​​{1}}。在此示例中,它将为1。

我想这很简单,但我无法弄清楚如何去做。

我尝试了很多不同的东西,但没有一个能给我正确的结果。

赞:

instrument_id=6

或者

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

请帮忙!

2 个答案:

答案 0 :(得分:2)

SQL Fiddle

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

答案 1 :(得分:0)

使用OR而不是AND。列instrument_id不会有两个值。

如果您需要检查更多值,请使用IN(5,6,7,8,...)