मैं इस एसक्यूएल कोडनिबर्ननेट के साथ एक सशर्त योग कैसे करें?
SELECT
ID
SUM(CASE WHEN myProperty = 2 THEN 1 ELSE 0 END) as nbRowWithValueOf2,
SUM(CASE WHEN myProperty = 3 THEN 1 ELSE 0 END) as nbRowWithValueOf3
FROM Foo
GROUP BY ID
NHibernate के साथ
के बराबर करने के लिए कोशिश कर रहा हूँ।
अब तक मैं
queryable = queryable
.Select(
Projections.Group<Foo>(c => c.ID),
Projections.Sum<Foo>(c => c.myProperty == MyEnum.Two ? 1 : 0)
Projections.Sum<Foo>(c => c.myProperty == MyEnum.Three ? 1 : 0)
)
की कोशिश की लेकिन यह मुझे निम्न त्रुटि देता है:
Could not determine member from IIF((Convert(c.myProperty) = 2), 1, 0)
आप किसी भी विचार है?
संपादित करें 1: मैं परिणाम 2 प्रश्नों के साथ प्राप्त कर सकता हूं लेकिन मैं इसे केवल 1 क्वेरी में करना चाहता हूं।
संपादित करें 2: मैं यहां क्वेरीओवर का उपयोग कर रहा हूं।
ऐसा लगता है कि आप शायद COUNT' का उपयोग करना चाहिए '' SUM' के बजाय लग रहा है । – yoozer8
गणना शर्तों को स्वीकार नहीं करती है, मैं इसे यहां कैसे उपयोग कर सकता हूं? दो प्रश्न? –
यदि यह क्वेरी स्वीकार नहीं करता है, तो आप केवल उन लोगों को चुनने के लिए 'WHERE' का उपयोग कर सकते हैं जिन्हें आप गिनना चाहते हैं, और फिर' COUNT' का उपयोग करें। – yoozer8