2014-11-04 98 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 2014-11-04 06:44:02

+2

不,你不能離開它。 – 2014-11-04 06:49:01

+1

但是......你爲什麼在意? – 2014-11-04 08:13:31

回答

0

如果你想在這個查詢中使用別名,滴子選擇:

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

那麼,這是通過重寫查詢以避免子選擇來避免它。我正在尋找一個選項來使用子選擇時省略它。 – royskatt 2014-11-04 08:13:42

+0

如果您確實需要子查詢,則必須使用別名。 – 2014-11-04 08:18:36