2017-05-27 33 views
0

我有一個與Groupe表的ManyToMany關係的Statistiquecolle表。 我想這兩篇文章ONY到獅ID的所有StatistiqueColle行1查詢ManyToMany在連接表上只有1個結果

我能夠選擇鏈接到獅ID 1的所有StatistiqueColle行,但我也有一個鏈接到獅編號1的行其他羣體。

這裏是我的查詢(statistiquecolle_groupe是statistique科爾和GROUPE之間的聯繫表):

SELECT sc.id, sc.colle_id, sc.effectif, sc.moyenne, sc.mediane, sc.note100, sc.major, sc.minor 
FROM statistiquecolle sc 
INNER JOIN statistiquecolle_groupe scg ON sc.id = scg.statistiquecolle_id 
WHERE scg.groupe_id = 1 
AND sc.id = scg.statistiquecolle_id 

我想過一個where子句中的計數行只選擇StatistiqueColle行對其中有一個statistiquecolle_groupe行,但我不不知道該怎麼做。

編輯:表結構 enter image description here

+0

你可以上傳你的表的結構?這將有助於 – nacho

+0

我剛剛添加它。 –

回答

0

嘗試做這樣,我已經在加入改變了表的順序,設置左連接並刪除和條款的地方,因爲你已經有了它在ON子句中:

SELECT sc.id, sc.colle_id, sc.effectif, sc.moyenne, sc.mediane, sc.note100, sc.major, sc.minor 
FROM statistiquecolle_groupe scg 
LEFT JOIN statistiquecolle sc ON sc.id = scg.statistiquecolle_id 
WHERE scg.groupe_id = 1 AND 
     sc.id NOT IN (SELECT sc1.id 
        FROM statistiquecolle_groupe scg1 
        LEFT JOIN statistiquecolle sc1 ON sc1.id = scg1.statistiquecolle_id 
        WHERE scg1.groupe_id != 1) 

現在就來試試。希望它的工作原理

+0

我試過了,它會返回所有連接到ID爲1的羣的StatistiqueColle行。 我想要那些只與鏈接到這個羣和一個/多個其他羣的那些羣的id爲1的羣, 。 –

+0

好吧,我稍後再試 – nacho

+0

你有一個新的版本,試試吧 – nacho

相關問題