MySQL 查询给出不正确的结果

标签 mysql join self-join

我有一个表contribution_request

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

我需要检索具有 instrument_id=5 instrument_id=6project_id 在此示例中将为 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  

请帮忙!

最佳答案

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

关于MySQL 查询给出不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24166464/

相关文章:

mysql - 优化MySQL自连接

mysql - 每个GROUP_CONCAT值的限制长度

sql - 加入条件 "ON"与 "WHERE"

mysql - 在 MySQL 中选择所有带有 WHERE 子句的行

mysql - 在子查询中加入 `greatest-n-per-group` 和 SUM

ruby-on-rails - rails : How do self-referential has_many models work?

Mysql自加入使用groupby从第一个表返回的最大ID

PHP MYSQL - 显示多线程评论不起作用

Python 将带逗号的变量插入 MySQL

mysql - 如何在 Rails 中显示名称而不是 Id