我想从其他查询插入到当前查询中获取最大日期。请看看我的代码。
数据:
inv_id inv_date inv_export inv_code
1 2016-03-14 0 a2
2 2016-03-13 0 a1
3 2016-04-13 1 a1
4 2016-03-14 0 a1
结果:
for inv_export = 0 return a2 & a1
for inv_export = 1 return a1
mysql(工作正常):
SELECT ..., i.inv_date, i.inv_export
FROM Sp.inventory AS i
...
WHERE i.inv_date IN (
SELECT max(i.inv_date) from Sp.inventory WHERE i.inv_export = 1
);
我试过将它转换为 symfony:
$qb = $this
->createQueryBuilder('i')
->select('..., i.invDate')
...
->where('i.invExport = :export AND i.invDate = MAX(i.invDate)')
->setParameter('export', $export);
最佳答案
您可以按如下方式使用子查询:
$sub = $this->createQueryBuilder('i2');
$sub->select("max(i2.inv_date)");
$sub->where("i.invExport= i2.invExport");
$qb = $this
->createQueryBuilder('i')
->select('..., i.invDate')
...
->where('i.invDate = ( '.$sub->getDQL().' )');
->andWhere('i.invExport = :export')
->setParameter('export', $export);
希望对你有帮助
关于mysql - Symfony 组合 2 个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36601785/