आपके प्रश्न से यह बहुत स्पष्ट नहीं है कि आपको किस पैरामीटर पर "ऑल" फ़िल्टरिंग को लागू करने में समस्या हो रही है। लेकिन आपके दो प्रश्नों को देखने से ऐसा लगता है कि यह @p_ServerName
है पैरामीटर। आपकी पहली क्वेरी में ऐसा लगता है कि अन्य दो ने 'ऑल' फ़िल्टरिंग ठीक से की है।
तो समस्या यहाँ होनी चाहिए:
(c1.SystemName = @p_ServerName OR c1.SystemName = c1.SystemName)
पहला, आप दूसरे भाग के साथ क्या हासिल करने की कोशिश कर रहे हैं? c1.SystemName=c1.SystemName
हमेशा सत्य रहेगा (जब तक कि c1.SystemName NULL
न हो और यदि वह आपका लक्ष्य है तो c1.SystemName IS NOT NULL
. का उपयोग करें
मुझे लगता है कि इसे और अधिक दिखना चाहिए:
([email protected]_ServerName OR @p_ServerName='all')
इस तरह आपने अन्य दो मापदंडों को लागू किया है, इसलिए शायद मुझे कुछ याद आ रहा है।
साथ ही, मुझे यकीन नहीं है कि आपका क्या मतलब है जब आप कहते हैं कि UNIONed क्वेरी समाधान यह होना चाहिए कि SSRS कैसे काम कर रहा है। एसएसआरएस पैरामीटर के आधार पर आपके प्रश्नों को फिर से नहीं लिखता है, यह केवल उन वेरिएबल्स में उन मानों को चिपका देता है जिन्हें आप अपनी क्वेरी में उपयोग कर सकते हैं। यदि आपका पैरामीटर @p_ServerName
एक स्ट्रिंग है तो यह केवल एक VARCHAR चर है जिसमें "सभी" वर्ण हैं।