2011-11-29 81 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 
相关问题