Не се нуждаете от динамичен SQL, за да направите това (и динамичният SQL трябва да се избягва, ако изобщо е възможно). Вместо това можете да използвате оператор CASE. Можете да направите това с един оператор, но аз го разделих за целите на показването:
DECLARE @brand VARCHAR(100) = (SELECT brand FROM articles a WHERE a.id='12345678')
SELECT CASE @brand
WHEN 'BRAND_A' THEN BRAND_A_PRICE
WHEN 'BRAND_B' THEN BRAND_B_PRICE
WHEN 'BRAND_C' THEN BRAND_C_PRICE
ELSE 0 END AS PRICE
FROM prices
WHERE id='12345678'