How to improve performance of SELECT query to same tables in Linked Server
The query can be rewritten with a crosstab, in order to avoid hitting TableA multiple times:

DECLARE @TableA TABLE (col1 int, col2 int);
DECLARE @TableB TABLE (col3 int, col4 int);

INSERT INTO @TableA 
VALUES 
    (1,1),
    (2,2),
    (3,3),
    (4,4);

INSERT INTO @TableB
VALUES 
    (1,1),
    (2,2),
    (3,3),
    (4,4);

DECLARE @Var1 int, @Var2 int, @Var3 int;

SELECT     @Var1 = CA.var1,
           @Var2 = CA.var2,
           @Var3 = CA.var3
FROM @TableB AS TB
CROSS APPLY (
    SELECT 
        SUM(CASE WHEN col2 = 1 THEN col1 END) AS var1,
              -- ^^ This is &lt;Condition1&gt;
        SUM(CASE WHEN col2 = 2 THEN col1 END) AS var2,
              -- ^^ This is &lt;Condition2&gt;
        SUM(CASE WHEN col2 = 3 THEN col1 END) AS var3
              -- ^^ This is &lt;Condition3&gt;
    FROM @TableA AS TA
) AS CA(var1, var2, var3)
WHERE TB.col3 &gt; 2 -- &lt;Condition4&gt;

SELECT @Var1, @Var2, @var3


This should make it faster. If it doesn't, please post the execution plan, so that we can investigate it further.