Как я могу разделить две переменные в конструкторе SQL-запросов ReportBuilder

#sql #sql-server #reportbuilder3.0

Вопрос:

Я создаю простой отчет в построителе отчетов Microsoft SQL Server. Все работает нормально без одной колонки «Цена за единицу». Я хочу отобразить там результат [Общая цена / количество]. Как я могу это сделать в запросе ниже?

 SELECT   [ArticleIndex]  ,[ArticleName]  ,[Size]  ,ISNULL(COUNT(1), 0) AS 'Quantity'  ,ISNULL(SUM([Price]), 0) AS 'TotalPrice'  ,ISNULL(SUM([Price), 0) AS 'UnitPrice' = this is what i want to calculate FROM  [dbo].[vw_WarehouseTransaction] WHERE  [TransactionTime] gt;= @DateFrom  AND [TransactionTime] lt; @DateTo  AND [CompanyId] = @Company  AND [TransactionTypeId] = @TransactionType GROUP BY   [ArticleIndex]  ,[ArticleName]  ,[Size] ORDER BY   [ArticleIndex]  ,[ArticleName]  ,[Size]  

Комментарии:

1. В чем дело ISNULL(SUM([Price]), 0) / ISNULL(COUNT(1), 0) ?

2. Примечание: не используйте одинарные кавычки ( ' ) для псевдонимов. Одинарные кавычки предназначены для буквальных строк, без разделителей имен объектов. Некоторые методы использования одинарных кавычек для псевдонимов устарели и работают только тогда, когда вы их определяете, а не где-либо еще; ORDER BY 'Quantity' не будет упорядочиваться по вашему столбцу с псевдонимами как 'Quantity' . Придерживайтесь имен объектов и псевдонимов, которые не нуждаются в идентификации с разделителями, и если вы должны идентифицировать их с разделителями, используйте идентификатор T-SQL, скобки ( [] ) или двойные кавычки ANSI-SQL ( " ).

3. Это показывает мне точно такой же результат, как «TotalPrice» В UnitPrice, который я хочу иметь -gt; TotalPrice / Количество, чтобы знать, сколько стоит одна единица чего-либо, исходя из общей цены всего

4. Так ты это хочешь сказать TotalPrice / Quantity = TotalPrice ? Тогда по определению Quantity должно иметь значение 1 .