다소 단순한 쿼리를 LLBLGen Pro 동적 쿼리로 변환하는 데 문제가 있습니다. 나는 갖는 변환 힘든 시간을 보내고있어,"HAVING"절을 사용하여 SQL을 LLBLGen Pro DynamicQuery로 변환
SELECT Parent.Id
FROM Parent INNER JOIN Child
ON Child.ParentId = Parent.Id
WHERE Parent.Region = '1'
AND Parent.Id IN (1, 2, 3, 4, 5)
GROUP BY
Parent.Id
HAVING SUM(CASE WHEN child.Name IN ('Required1', 'Required2', 'Required3') THEN 1 ELSE 0 END) != 3
을하지만 : 나는 SQL은 (하지만, ID가 확인하고 필요한 이름으로이 지역에 대한 값을 전달 할 수 있습니다) 다음과 같이 뭔가를 변환해야 절을 LLBL에 상응하는 것으로 변경하십시오.
이것은 내가 지금까지 무엇을 가지고 :
var q = qf.Create()
.From(qf.ParentView
.InnerJoin(qf.ChildView)
.On(ChildViewFields.Id == ParentViewFields.ParentId))
.Where((ParentViewFields.Region == _region)
.And(ParentViewFields.Id.In(_checkIds)))
.Select(() => ParentViewFields.Id.ToValue<string>())
.GroupBy(ParentViewFields.Id)
.Having(???)
어떤 도움을 크게 감상 할 수있다. 나는 SQL이 수행하는 것을 수행하는 방법에 대한 대안을 제안하고있다 (주의해야 할 점은 데이터베이스에서 실행되어야하고 추가 계산을 위해 클라이언트를 끌어 내리지 않아야한다는 것이다).
또 다른'Where' 절을 사용하십시오. –
확장 할 수 있습니까? 나는 처음부터 SQL 녀석이 많지 않다. – SergioL