Временная таблица не существует, ошибка при использовании вложенного агрегирования - PullRequest
3 голосов
/ 02 апреля 2012

Я пытаюсь использовать вложенную агрегацию для одного из моих запросов:

SELECT t.type, t.avgrent
FROM (  SELECT e.type, AVG(e.rental_rate) AS avgrent
        FROM Equipment e
        GROUP BY e.type) AS t
WHERE t.avgrent IN (SELECT MIN(t.avgrent) FROM t)

И я продолжаю получать следующую ошибку:

Ошибка запроса к БД: таблица «database.t» не существует

Может кто-нибудь сказать мне, что я делаю не так?

Спасибо!

1 Ответ

2 голосов
/ 02 апреля 2012

Вы не можете повторно использовать T таким образом. Может быть, что-то вроде этого:

SELECT t.type, t.avgrent
FROM (  SELECT e.type, AVG(e.rental_rate) AS avgrent
        FROM Equipment e
        GROUP BY e.type) AS t
WHERE
    t.avgrent IN
(
    SELECT
        MIN(t2.avgrent)
    FROM
    (
        SELECT 
           e.type, 
           AVG(e.rental_rate) AS avgrent
        FROM Equipment e
        GROUP BY e.type
    ) AS t2
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...