PLS TRY BELOW CODE
CREATE TABLE #Companies (CompanyID int)
INSERT INTO #Companies (CompanyID) VALUES (1)
INSERT INTO #Companies (CompanyID) VALUES (2)
INSERT INTO #Companies (CompanyID) VALUES (3)
CREATE TABLE #CompanyGroups (CompanyGroupID char(1), CompanyID int)
INSERT INTO #CompanyGroups (CompanyGroupID,CompanyID) VALUES ('A',1)
INSERT INTO #CompanyGroups (CompanyGroupID,CompanyID) VALUES ('A',2)
DECLARE @CompanyID int
DECLARE @CompanyGroupID char(1)
--SET @CompanyID = 1
--SET @CompanyGroupID = NULL
SET @CompanyID = NULL
SET @CompanyGroupID = 'A'
SELECT * FROM #Companies WHERE CompanyID = (CASE WHEN @CompanyID IS NULL THEN CompanyID ELSE @CompanyID END)
AND CompanyID IN(Select CompanyID FROM #CompanyGroups WHERE CompanyGroupID = CASE WHEN @CompanyGroupID IS NULL THEN CompanyGroupID ELSE @CompanyGroupID END)