2016-01-24 70 views
0

所以这是我的表DENUNCIASMySQL的内部加入W /别名

id_denuncia, 
id_categoria, 
id_fecha, 
email_denunciante -- FK table usuarios, 
email_denunciado -- FK table usuarios, 
descripcion, 
fecha 

正如你可以看到我有双重参考同桌。

我想要做的是选择(内部联接)'usuarios.nombreCompleto'两次,一次'email_denunciante',另一个'email_denunciado'。这是我到目前为止是:

select 
categorias.nombreCorto as 'Categoria', 
fechas.circuito as 'Fecha', 
usuarios.nombreCompleto as usuDenunciante, 
usuarios.nombreCompleto as usuDenunciado, 
denuncias.descripcion as 'Detalle', 
denuncias.fecha as 'Enviada el' 
from denuncias 
inner join categorias on denuncias.id_categoria = categorias.id_categoria 
inner join fechas on denuncias.id_fecha = fechas.id_fecha 
inner join usuarios as usuDenunciante on denuncias.email_denunciante = usuarios.email 
inner join usuarios as usuDenunciado on denuncias.email_denunciado = usuarios.email; 

这是错误我得到:

Error Code: 1054. Unknown column 'usuarios.nombreCompleto' in 'field list' 

我已经尝试了多种方法,结果为阴性。

由于这是一个sintaxis错误,而不是逻辑,我决定不翻译代码。

在此先感谢!

+0

/offtopic /每个人的主要原因英语应该代码是没有其他人可以阅读他们的代码,如果他们有问题,它并非如此。我无法通读全部西班牙语来解决你的真正问题。我甚至不是英语母语的人。 –

+1

我完全同意。但由于我的错误是纯粹的sintaxis不逻辑,我决定不翻译。 –

回答

0

您创建表别名,您必须在您的选择列表上使用。 usuarios必须是usuDenuncianteusuDenunciado

试试这个:

select categorias.nombreCorto as 'Categoria', 
     fechas.circuito as 'Fecha', 
     usuDenunciante.nombreCompleto as usuDenunciante, 
     usuDenunciado.nombreCompleto as usuDenunciado, 
     denuncias.descripcion as 'Detalle', 
     denuncias.fecha as 'Enviada el' 
    from denuncias 
      inner join categorias 
        on denuncias.id_categoria = categorias.id_categoria 
      inner join fechas 
        on denuncias.id_fecha = fechas.id_fecha 
      inner join usuarios as usuDenunciante 
        on denuncias.email_denunciante = usuDenunciante.email 
      inner join usuarios as usuDenunciado 
        on denuncias.email_denunciado = usuDenunciado.email; 
+1

它的工作!我明白我的错误在哪里。非常感谢! –

0

我假设你usarious表确实包含nombreCompleto列。如果这是正确的,我认为问题在于,你直接引用泛滥的表,而不是使用你创建的别名。由于您访问该表两次,因此您需要指定您选择哪个别名。

外汇:

SELECT categorias.nombreCorto as 'Categoria', 
fechas.circuito as 'Fecha', 
usuDenunciante.nombreCompleto.as usuDenunciante, 
usuDenunciado.nombreCompleto as usuDenunciado, 
denuncias.descripcion as 'Detalle', 
denuncias.fecha as 'Enviada el' 
from denuncias inner join categorias on denuncias.id_categoria = categorias.id_categoria 
inner join fechas on denuncias.id_fecha = fechas.id_fecha 
inner join usuarios as usuDenunciante on denuncias.email_denunciante = usuarios.email 
inner join usuarios as usuDenunciado on denuncias.email_denunciado = usuarios.email;