MySQL的内部加入W /别名
问题描述:
所以这是我的表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错误,而不是逻辑,我决定不翻译代码。
在此先感谢!
答
您创建表别名,您必须在您的选择列表上使用。 usuarios
必须是usuDenunciante
或usuDenunciado
。
试试这个:
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
它的工作!我明白我的错误在哪里。非常感谢! –
答
我假设你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;
/offtopic /每个人的主要原因英语应该代码是没有其他人可以阅读他们的代码,如果他们有问题,它并非如此。我无法通读全部西班牙语来解决你的真正问题。我甚至不是英语母语的人。 –
我完全同意。但由于我的错误是纯粹的sintaxis不逻辑,我决定不翻译。 –