Я не могу понять, что вы хотите, но надеюсь, что вы получите представление здесь.
Это ваш стол (Пожалуйста, ваши структуры таблицы и инертные запросы в вопросах при размещении новых вопросов, так что вы получите ответы быстро и понятные всем)
create table #temp (id int identity(1,1),field1 varchar(50),field2 varchar(50),field3 int)
INSERT INTO #temp (field1 ,field2 ,field3)
values
('a', 'b' , 10),
('a', 'c' , 20),
('b', 'e' , 30),
('b', 'a' , 50),
('c', null , 20)
Вот запрос на выбрать различные проценты для всех field3 значения
select field1,
field2 ,
field3,
(.1 * field3) as TenPer_field3,
(.05 * field3) as FivePer_field3
from #temp
Выход:
field1 field2 field3 TenPer_field3 Fiveper_field3
a b 10 1.0 0.50
a c 20 2.0 1.00
b e 30 3.0 1.50
b a 50 5.0 2.50
c NULL 20 2.0 1.00
После того, как вы прокомментируете, я понимаю, чего вы хотите.
;with CTE AS(
select field1 as name, (.1 * field3) as value from #temp
Union
select field2 as name, (.05 * field3) as value from #temp
)
select name,sum(value) value
from CTE
WHERE name is not null
GROUP BY name
выход
name value
a 5.50
b 8.50
c 3.00
e 1.50
Показать, что вы пробовали до сих пор, это не сложно запрос – Sparky
Я знаю, что, но я только что узнал о SQL вы можете мне помочь? – user3313766
Перефразируйте свой вопрос, это действительно очень сложно понять, чего вы хотите. – Doug