所以这是我的桌子DENUNCIAS
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 :(得分:0)
您创建表别名,必须在选择列表中使用then。 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 :(得分:0)
我假设您的各种表格确实包含nombreCompleto列。如果这是正确的,我认为问题是,你直接引用了这个表,而不是使用你所做的别名。因为您访问该表两次,所以需要指定从哪个别名中选择SELECT。
Fx的:
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;