我正在使用symfony v.1.4.6(Propel)&php 5.2.6
我遇到了一个具有挑战性的情况,我必须在symfony Propel中实现以下查询我在谷歌上搜索了很多,但我没能找到在推进中实现UNION的完美解决方案
SELECT top 5000 filetable.sha2, finalhash.ihash FROM filetable (nolock)
JOIN finalhash (nolock) ON (filetable.finalhash_id=finalhash.id)
WHERE (
finalhash.ihash ='1FDE08EACCC5B247026D1D3A71DDD3846E31095D3A852CCFCDF3B7EAC00FD6D1'
)
UNION ALL
SELECT top 5000 filetable.sha2, finalhash.ihash FROM filetable (nolock)
LEFT JOIN finalhash (nolock) ON (filetable.finalhash_id=finalhash.ID)
WHERE (
filetable.sha2='1FDE08EACCC5B247026D1D3A71DDD3846E31095D3A852CCFCDF3B7EAC00FD6D1'
)
请指导我并给出在symfony Propel:/中实现上述查询的建议
谢谢大家!
据我所知,Propel
并没有像您(以及我)所希望的那样支持UNION
。您可以在Propel
中进行两个单独的查询,并在php端进行联合,或者尝试使用Criteria
实现您想要的功能。
检查这些类似的问题:
- 推进ORM联合查询
- 带推进ORM的联合查询
- 使用推进的复杂查询