Mysql 相同Id,不相同值如果其中一个不正常,则排除所有Id

Mysql 相同Id,不相同值如果其中一个不正常,则排除所有Id,mysql,sql,symfony,Mysql,Sql,Symfony,您好,我有两个symfony中的表通过多个双向关系连接。 文章和日期 在我的表格(日期)中,我有: 除了a.id:4之外,我怎么能得到所有文章的结果,因为其中一篇没有响应条件??您应该使用->notIn(): 连接是否应该从“a.dates”到“d”?或者应该改为“a.dates=d.dates”?是的,连接是从a(文章)到d(日期) +---------------------------- | id | a.id | OK OR NOT ? +--------------------

您好,我有两个symfony中的表通过多个双向关系连接。 文章和日期

在我的表格(日期)中,我有:

除了a.id:4之外,我怎么能得到所有文章的结果,因为其中一篇没有响应条件??

您应该使用->notIn():


连接是否应该从“a.dates”到“d”?或者应该改为“a.dates=d.dates”?是的,连接是从a(文章)到d(日期)
+----------------------------
| id   | a.id  | OK OR NOT ? 
+----------------------------
| 1    | 4     |      OK 
| 2    | 4     |      OK 
| 3    | 6     |      OK 
| 4    | 5     |      OK 
| 5    | 4     |   **NOTOK** 
----------------------------

$qb = $this->createQueryBuilder('a')
           ->select('a')
           ->leftJoin('a.dates','d')
           ->where('CONDITION OK OR NOT') 
           ->orderBy('a.id', 'ASC');
return $qb->getQuery()->getResult();
$qb = $this->createQueryBuilder('a')
   ->where($qb->expr()->notIn('a.id','SELECT a.id FROM AppBundle:Articles LEFT JOIN a.dates d WHERE d.OK_OR_NOT = "**NOTOK**"'))
   ->orderBy('a.id', 'ASC');
return $qb->getQuery()->getResult();