Z Twojego pytania nie wynika jasno, w którym parametrze masz problem z zaimplementowaniem filtrowania „WSZYSTKO”. Ale patrząc na twoje dwa zapytania, wygląda na to, że jest to @p_ServerName
parametr. Wydaje się, że w pierwszym zapytaniu pozostałe dwa filtry 'WSZYSTKO' zostały wykonane prawidłowo.
Więc problem musi być tutaj:
(c1.SystemName = @p_ServerName OR c1.SystemName = c1.SystemName)
Po pierwsze, co chcesz osiągnąć w drugiej części? c1.SystemName=c1.SystemName
zawsze będzie prawdziwe (chyba że c1.SystemName to NULL
a jeśli taki jest twój cel, użyj c1.SystemName IS NOT NULL
Myślę, że powinno to wyglądać bardziej tak:
([email protected]_ServerName OR @p_ServerName='all')
W ten sposób zaimplementowałeś pozostałe dwa parametry, więc może czegoś brakuje.
Ponadto nie jestem pewien, co masz na myśli, gdy mówisz, że rozwiązanie zapytań UNIONed musi być sposobem, w jaki działa SSRS. SSRS nie przepisuje zapytań na podstawie parametrów, po prostu przechowuje te wartości w tych zmiennych, aby można je było wykorzystać w zapytaniu. Jeśli twój parametr @p_ServerName
jest łańcuchem, to jest to po prostu zmienna VARCHAR ze znakami "all".