これを行うために動的 SQL は必要ありません (可能な限り、動的 SQL は避ける必要があります)。代わりに、CASE ステートメントを使用できます。 1 つのステートメントでこれを行うことができますが、表示のために分割しました:
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'