Raj 0203 Ответов: 1

Могу ли я получить динамический SQL-запрос для получения выходных данных, как показано ниже ?


У меня есть входные данные, такие как,

---------------------------------------
M/Y    | Total | Con   | Est  | Keep  |  
----------------------------------
May-16 |  1000 |  100  |  200 |  500  |  
Jun-16 |  5000 |  500  | 1000 | 2000  |  
Jul-16 | 10000 | 1000  | 2500 | 5000  |

----------------
Мне нужен вывод типа,

--------------------
M/Y    | Total | Con  | Con(%)| Est  | Est(%)| Keep | Keep(%) |    
----------------------------------
May-16 |  1000 |  100 | 10%   |  200 | 20%   |  500 | 50%     |  
Jun-16 |  5000 |  500 | 10%   | 1000 | 20%   | 2000 | 40%     |  
Jul-16 | 10000 | 1000 | 10%   | 2500 | 25%   | 5000 | 50%     |



---------------------------

Примечание: здесь Con (%), Est (%), Keep (%) вычисляются по значению "Total".
Пример: Con (%) = (Con / Total)*100

Кто-нибудь может мне помочь, пожалуйста.

Заранее спасибо.

Что я уже пробовал:

Я не понимаю, как подойти к этой проблеме. Пожалуйста, помогите мне!..

Herman<T>.Instance

Как выглядит ваш запрос?

CHill60

Что вы пробовали до сих пор?
Я не уверен, зачем вам нужен динамический SQL - это то, с чем вам нужна помощь, или вам нужна помощь в формулировке простого запроса, который включает в себя вычисления?

Raj 0203

Хорошо, давайте забудем о динамическом запросе, теперь вы можете помочь мне с запросом, чтобы получить желаемый результат.

CHill60

OriginalGriff опубликовал решение

1 Ответов

Рейтинг:
8

OriginalGriff

Попробуй:

SELECT MY, Total, Con, (Con/Total)*100 AS [Con(%)], Est, ...

Или:
SELECT MY, Total, Con, CONVERT(NVARCHAR(10), (Con/Total)*100) + '%' AS [Con(%)], Est, ...
Если у вас должен быть знак процента (я бы сам вернул значение, а не строковую версию)