Расчет ставки по двум таблицам итогов SQL - PullRequest
0 голосов
/ 14 ноября 2018

Я беру рассчитанные итоги из двух разных таблиц, связанных с попыткой найти показатель преступности к населению.

Так вот мой код:

SELECT SUM(INCIDENT_BY_REGION.Total) AS TotalCrime, 
SUM(REGION.Population) AS TotalPopulation,
(TotalCrime/TotalPopulation) AS Rate
FROM INCIDENT_BY_REGION JOIN REGION
ON INCIDENT_BY_REGION.RegionID = REGION.RegionID;

Но я получаюошибка,

Код ошибки 1054: Неизвестный столбец «TotalCrime» в списке полей

.

Что я хочу, чтобы найти скоростьнаселение на преступление.Какие-либо предложения?

1 Ответ

0 голосов
/ 14 ноября 2018

Пожалуйста, попробуйте ниже, вы не должны использовать псевдонимы при расчете ставки. Кроме того, безопаснее использовать выражение case-when, тогда как sum(region.population) = 0, чтобы избежать divide by zero error.:

.
SELECT SUM(INCIDENT_BY_REGION.Total) AS TotalCrime, 
SUM(REGION.Population) AS TotalPopulation,
case when SUM(REGION.Population) > 0 then 
          SUM(INCIDENT_BY_REGION.Total)/SUM(REGION.Population)
     else 0 end AS Rate
FROM INCIDENT_BY_REGION JOIN REGION
ON INCIDENT_BY_REGION.RegionID = REGION.RegionID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...