Существует несколько способов решения этой проблемы, и это зависит от того, являются ли результаты запроса 1 и запроса 2 уникальными, должны ли они отображаться в виде одной строки, или их эффективность должна каким-либо образом агрегироваться / рассчитываться.
Если результаты уникальны (комбинация SS + WC не будет одинаковой), вы можете сделать следующее:
SELECT ss, wc, wc_efficiency
FROM query1
UNION ALL
SELECT ss, wc, wc_efficiency
FROM query2
Если результаты не уникальный, то есть у вас может быть комбинация SS + WC, которая есть в обоих запросах, тогда вы можете сделать следующее:
SELECT
q1.ss,
q1.wc,
q1.wc_efficiency AS [wc_efficiency1],
q2.wc_efficiency AS [wc_efficiency2]
FROM QUERY1 q1, QUERY2 q2
WHERE q1.ss = q2.ss
AND q1.wc = q2.wc
ИЛИ
SELECT
CASE
WHEN q1.ss IS NOT NULL THEN q1.ss
WHEN q2.ss IS NOT NULL THEN q2.ss
END AS [ss],
CASE
WHEN q1.wc IS NOT NULL THEN q1.wc
WHEN q2.wc IS NOT NULL THEN q2.wc
END AS [wc],
q1.wc_efficiency AS [wc_efficiency1],
q2.wc_efficiency AS [wc_efficiency2]
FROM QUERY1 q1
FULL OUTER JOIN QUERY2 q2
ON q1.ss = q2.ss AND q1.wc = q2.wc
Я предпочитаюпоследний вариант, но оба они должны работать одинаково, и вы можете использовать ISNULL, чтобы установить wc_efficiency, равное 0, если вы не хотите иметь нулевые значения для целей отчетности / построения графиков ...
edit: забыл, что если естьчто-то во втором запросе, а не в первом наборе результатов, вы должны учитывать это, вам может потребоваться другое объединение, но вы также можете использовать оператор case, и я отредактирую третий вариант выше, чтобы отразитьв.