0
,我需要选择行的计数和条件:NHibernate的QueryOver - .SelectCount()与谓词
查询集齐计数:
var searchs = searchQuery.SelectList
(list => list
.SelectGroup(order => order.Id).WithAlias(() => groupResult.GlobalId)
.SelectCount(() => _transaction.ReturnStatus).WithAlias(() => groupResult.DeclineCount)
)
我需要等于201的交易数量。类似这样的:
.SelectCount(() => _transaction.ReturnStatus == 201).WithAlias(() => groupResult.DeclineCount) //runtime error
在此先感谢!
PS: 原始SQL查询:
SELECT TOP 100
globalOrd.ID AS GlobalId ,
SUM(CASE WHEN transact.returnStatus = 201 THEN 1
ELSE 0
END) AS DeclineCount
FROM Orders.Global globalOrd
INNER JOIN Orders.TransactionDetail transactDet ON globalOrd.ID = transactDet.DetailID
INNER JOIN Orders.[Transaction] transact ON transactDet.TransactionID = transact.ID
GROUP BY globalOrd.ID
谢谢你的回答,我需要“两个”。我用原始SQL更新了这个问题。我仍然相信没有SqlProjection这样做 - 它似乎是如此简单的操作和查询不能做到这一点? –