Очевидное решение - добавить псевдоним таблицы в подзапрос («производная таблица») в предложении FROM
.В MySQL для этой цели требуются псевдонимы (некоторые базы данных этого не делают, но большинство делают).
Я бы просто использовал псевдонимы в целом для упрощения запроса:
SELECT COUNT(*)
FROM (SELECT COUNT(ua.Oseba_idOseba) AS `value_occurrence`
FROM udelezba_akcije ua INNER JOIN
oseba o
ON ua.Oseba_idOseba = o.Ime_osebe
GROUP BY ua.Oseba_idOseba
) uao;
Лучший способ - удалитьподзапрос целиком.Вы можете написать это как:
SELECT COUNT(DISTINCT ua.Oseba_idOseba)
FROM udelezba_akcije ua INNER JOIN
oseba o
ON ua.Oseba_idOseba = o.Ime_osebe;
Я не знаю, как выглядят ваши данные, но это может быть более эффективно записано как:
SELECT COUNT(DISTINCT ua.Oseba_idOseba)
FROM udelezba_akcije ua
WHERE EXISTS (SELECT 1
FROM oseba o
WHERE ua.Oseba_idOseba = o.Ime_osebe
);
И написано так, этовозможно (в зависимости от данных), что COUNT(DISTINCT)
можно заменить на COUNT(*)
.