Умножьте комбинацию столбцов на основе значения столбца - PullRequest
0 голосов
/ 05 февраля 2012

Как умножить значения столбцов на основе значения в одном столбце.

Пример

   Col1   Col2   Col3   Col4
    10     10     10     casea (multiply col1 * col2)
    20     20     20     caseb (multiply col1 * col3) 
    30     30     30     casec (multiply col2 * col3) 

Запрос типа:

select col1, col2, col3, col4, total

вернется

    10,10,10,casea,100
    20,20,20,caseb,400
    30,30,30,casec,900

Конечно, производительность, как всегда, важная проблема.

Спасибо за участие.

1 Ответ

4 голосов
/ 05 февраля 2012
select
  Col1,
  Col2,
  Col3,
  Col4,
  CASE Col4 
    WHEN 'casea' then col1*col2
    WHEN 'caseb' then col1*col3
    WHEN 'casec' then col2*col3
  END AS Total
FROM YourTable
...