Нет способа создать условный список столбцов для вставки. Вы должны указать все столбцы, для которых у вас могут быть значения, а затем заполнить их условно. Итак, вам нужно использовать два оператора CASE в вашем операторе SELECT, чтобы заполнить эти два столбца соответствующим образом.
Попробуйте следующее (примечание: я на самом деле не запускал это, поэтому дайте мне знать, если есть какой-нибудь второстепенный синтаксисошибки).
INSERT INTO Pricing (ID_GLOBAL,
PRICING_SOURCE,
PX_BID,
PX_ASK,
PX_HIGH,
PX_LOW,
PX_OPEN,
ID_ISN,
ID_SED)
Select C.asset_id,
C.price_source,
C.bid_price,
C.ask_price,
C.high,
C.low,
C.open_price,
W.id_cd,
CASE WHEN W.id_cd = 'ISN' THEN W.id_number ELSE NULL END,
CASE WHEN W.id_cd != 'ISN' THEN W.id_number ELSE NULL END
From RRS As C
INNER JOIN ERS As W
ON C.asset_id = W.asset_id