【发布时间】:2011-10-03 06:57:56
【问题描述】:
我有这个休眠标准:
criteria.Add(Subqueries.PropertyIn("Id", DetachedCriteria.For<ReconItemReconSide>()
.SetProjection(Projections.ProjectionList()
.Add(Projections.GroupProperty("ReconItemFk"))
.Add(Projections.Min("ReconciliationSideFk")))
.Add(Expression.In(Projections.Property("ReconItemFk"), items))
));
-变成了这个查询(我已经从外部选择中删除了一些字段以最小化这里的长度):
SELECT this_.Id as Id8_0_
FROM CI.BM_RECONCILIATION_SIDE this_
WHERE this_.Id in (SELECT this_0_.BM_RECON_ITEM as y0_,
min(this_0_.BM_RECONCILIATION_SIDE) as y1_
FROM CI.BM_RECON_ITEM_RECON_SIDE this_0_
WHERE this_0_.BM_RECON_ITEM in (345061 /* :p0 */,345877 /* :p1 */)
GROUP BY this_0_.BM_RECON_ITEM)
问题是我希望内部选择只选择一个字段 (min(this_0_.BM_RECONCILIATION_SIDE)),但 groupby 也将 groupby-field 添加到选择中。
我希望能够创建 groupby 而不必投影 groupby 字段本身。 查询应该类似于:
SELECT this_.Id as Id8_0_
FROM CI.BM_RECONCILIATION_SIDE this_
WHERE this_.Id in (SELECT
min(this_0_.BM_RECONCILIATION_SIDE) as y1_
FROM CI.BM_RECON_ITEM_RECON_SIDE this_0_
WHERE this_0_.BM_RECON_ITEM in (345061 /* :p0 */,345877 /* :p1 */)
GROUP BY this_0_.BM_RECON_ITEM)
知道如何解决这个问题吗?
【问题讨论】:
标签: nhibernate group-by