2016-01-24 67 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;