2014-11-04 2 views
0

Возможно, есть плагин или опция для Postgresql, которая позволяет опустить псевдоним для подзапросов?Postgresql - избегать псевдонима для подзапроса

Например, я должен написать запрос, как это:

select * from filelist2 
where md5sum in(
select md5sum from(
select md5sum, count(md5sum) from filelist2 
group by md5sum 
having count(md5sum)>1) as MANDATORY_ALIAS) 
order by md5sum; 

Без псевдонима, я получаю следующее сообщение об ошибке:

ERROR: subquery in FROM must have an alias 
SQL Status:42601 

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

+1

большинства других баз данных требуют слишком разве это .. – Steve

+2

Нет, вы не можете оставить его. –

+1

но ... почему вас это волнует? –

ответ

0

Если вы хотите использовать псевдоним в запросе, падение подвыбора:

SELECT * 
FROM filelist2 
WHERE md5sum IN(
    SELECT md5sum 
    FROM filelist2 
    GROUP BY md5sum 
    HAVING COUNT(md5sum) > 1 
    ) 
ORDER BY 
    md5sum ASC; 
+0

Ну, это следует избегать, переписывая запрос, чтобы избежать подвыборки. Я ищу возможность опустить его при использовании подвыборов. – royskatt

+0

Если вам действительно нужен подзапрос, вы должны использовать псевдоним. –

Смежные вопросы