#sql
#sql
Вопрос:
Я не уверен, возможно ли это вообще, но я пытаюсь отфильтровать «результаты» после разделения двух значений из одного столбца (что уже работает).
SELECT
"Business Name",
(sum(CASE
WHEN "Source Indicator" = 'Month end cash balance'
THEN "EUR AMOUNT"
END) / sum(CASE
WHEN "Source Indicator" = 'Total OPEX'
THEN "EUR AMOUNT"
END)) AS "Run Rate"
FROM "Steering_database_eur"
WHERE MONTH("End Date") = (MONTH(GETDATE()) - 1)
GROUP BY "Business Name"
Теперь все, что мне нужно, это отображать только значения от -10 до 3 в столбце «Скорость выполнения».
Заранее большое спасибо
Комментарии:
1. Какую СУБД вы используете?
Ответ №1:
Попробуйте это
SELECT *
FROM (
--your query here
)t
WHERE [Run Rate] BETWEEN 0 AND 3
Комментарии:
1. Теперь это сработало для меня, возможно, я сделал что-то не так, но выдает ошибку, что «Скорость выполнения» является недопустимым столбцом.
2. Вы пробовали то же самое, что и выше: просто обновили скорость выполнения с помощью «[Скорость выполнения]`
3. Да, я пробовал использовать точный формат, за исключением того, что столбцы записываются с помощью » «, где я использую код (отчеты Zoho).
Ответ №2:
Не уверен, что это то, что вам нужно:
SELECT
"Business Name",
(sum(case
when "Source Indicator" = 'Month end cash balance' then "EUR AMOUNT"
end) / sum(case
when "Source Indicator" = 'Total OPEX' then "EUR AMOUNT"
end)) as "Run Rate"
FROM "Steering_database_eur"
WHERE MONTH("End Date") = (MONTH(GETDATE()) -1)
GROUP BY "Business Name"
HAVING (sum(case
when "Source Indicator" = 'Month end cash balance' then "EUR AMOUNT"
end) / sum(case
when "Source Indicator" = 'Total OPEX' then "EUR AMOUNT"
end)) BETWEEN 0 AND 3