簡體   English   中英

不是單組功能

[英]Not a single-group function

SELECT s.*,count(numeromodule) as nbrmodule from session58 s natural join module15;

嗨,我收到此錯誤:不是單組函數

首先,不要使用“自然聯接”。 它使用列的名稱,並且可以隨時間改變,更改查詢的功能,並導致其突然中斷而沒有明顯的原因。 如果使用顯式外鍵關系,我的內心會更柔和,但事實並非如此。

其次,問題是s.* 這是您想要做的另一種方式:

select s.*,
       (select count(*) from module15 m where s.col1 = m.col1 . . . ) as nbrmodule
from session58 s;

我不知道join條件是什么(另一個不使用natural join原因)。

同樣,這將返回0計數。 如果不希望使用它們,則可以使用子查詢或where子句將它們過濾掉:

where exists (select 1 from module15 m where s.col1 = m.col1 . . . )

您必須按部分列出group by section中的必填字段,例如

SELECT s.f1,s.f2,count(numeromodule) as nbrmodule 
from session58 s natural join module15 group by s.f1,s.f2;`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM