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