#sql-server
Вопрос:
Создайте производные таблицы для расчета общего объема продаж (sales) и общей скидки (promotion_value) по годам (годам) и сформулируйте процент скорости сжигания (burn_rate_percentage).
Мой ответ таков :
SELECT LEFT(order_date,4) AS years, SUM(sales) AS sales, SUM(discount_value) AS promotion_value, ROUND((promotion_value/sales)*100,2) AS burn_rate_percentage FROM dqlab_sales_store WHERE order_status = 'Order Finished' GROUP BY 1 ORDER BY 1;
Но есть ошибка : Неизвестный столбец «promotion_value» в «списке полей»
Пожалуйста, помогите
Комментарии:
1.
GROUP BY 1
недопустимый синтаксис SQL Server иUnknown column ...
не является ошибкой SQL Server, пожалуйста, исправьте свои теги. Мы не сможем вам помочь, если вы не дадите нам полное определение таблицы. Есть ли на самом делеpromotion_value
столбец в таблице?2. Вы не можете ссылаться на псевдоним, определенный в той же области. Вы должны как минимум повторить выражение в последнем выражении столбца. И
LEFT(order_date,4) AS years
имеет неприятный запах.3. Вы должны отметить, что это вопрос для домашнего задания. Кроме того, исходный набор данных, поступающий из DQLab, предназначен для MySQL, а не для Microsoft SQL Server.