Ниже приведен тестовый сценарий и вывод вашего утверждения.
Возможно, отсюда проще работать, и вы скажете нам, что не так с этим выводом.
Тестовый скрипт можно настроить и выполнить здесь
выход
ID State StateName
----------- ----------- ---------
1 1 Attended
11 1 Attended
12 1 Attended
15 2 Declined
Тестовый скрипт
;WITH Sales AS (
SELECT * FROM (VALUES
(1, 1)
, (2, 1)
, (3, 6)
) AS Sales (ID, StateID)
)
, Orders AS (
SELECT * FROM (VALUES
(11, 2)
, (12, 2)
, (15, 3)
) AS Orders (ID, StateID)
)
, StatesEquivalence AS (
SELECT * FROM (VALUES
(1, 1, 2, 'Attended')
, (2, 2, 3, 'Declined')
) AS StatesEquivalence (ID, SalesState, OrdersState, StateName)
)
SELECT sales.ID as ID
, equivalence.ID as State
, equivalence.StateName
FROM Sales
INNER JOIN StatesEquivalence as equivalence ON sales.StateID = equivalence.SalesState
WHERE sales.ID = 1
UNION
SELECT orders.ID as ID
, equivalence.ID as State
, equivalence.StateName
FROM Orders as orders
INNER JOIN StatesEquivalence as equivalence ON orders.StateID = equivalence.OrdersState