2011-11-29 77 views
0

我似乎無法找到我的MySQL查詢中的錯誤。它表明我沒有唯一的表別名表usuarios_gruposMySQLSyntaxErrorException:不是唯一的表/別名:'usuarios_grupos'

但是,我的表usuarios_grupos只出現一次!

我的查詢如下:

SELECT DISTINCT usuarios.id_usuario 
FROM usuarios 
WHERE usuarios.id_usuario 
NOT IN 
(SELECT DISTINCT id_usuario FROM usuarios_grupos, grupos 
WHERE usuarios_grupos.id_grupo = grupos.id_grupo) 

任何想法,爲什麼發生這種情況?

+1

不相關的問題,但你可以擺脫第二獨特的 - 而不是處理子查詢你回來重複。 –

回答

1

你的表usuarios_grupos出現一次,但讓你不得不id_usuario可能是兩個表具體而言,並嘗試使用加入代替,也沒有必要Distict這樣的:

SELECT usuarios.id_usuario 
FROM usuarios 
WHERE usuarios.id_usuario 
NOT IN 
(
    SELECT ug.id_usuario 
    FROM usuarios_grupos ug inner join grupos g 
    on ug.id_grupo = g.id_grupo 
) 
+0

謝謝!我正在使用這個 – ShaunK

1

如果id_usuario出現無論是在usuarios_grupos和grupos,你必須告訴MySQL你要使用哪一個:

SELECT DISTINCT grupos.id_usuario FROM usuarios_grupos, grupos 
    WHERE usuarios_grupos.id_grupo = grupos.id_grupo