2014-02-10 46 views
-1
select simplex_comunes.cod_color_piel.descripcion as cod_color_piel, simplex_comunes.cod_sexo.descripcion as cod_sexo, count(*) 
from simplex_comunes.cod_color_piel,simplex_comunes.cod_sexo 
inner join simplex_ch.dat_trabajadores on simplex_ch.dat_trabajadores.id_color_piel = simplex_comunes.cod_color_piel.codigo 
inner join simplex_ch.dat_trabajadores on simplex_comunes.cod_sexo.codigo = simplex_ch.dat_trabajadores.id_sexo 
group by simplex_comunes.cod_color_piel.descripcion,simplex_comunes.cod_sexo.descripcion 

错误不是唯一的表/别名:“dat_trabajadores”,错误MySQL查询与内部联接

请帮帮忙,谢谢!

+0

要加入'dat_trabajadores'两次。您需要提供一个(或两个)别名,以便它可以区分它们。 –

+3

当你问这样一个问题时,你也需要提供你的表格结构。没有这个,调试查询真的很难。 – wallerjake

+0

'cod_sexo',“CREATE TABLE'cod_sexo'( 'codigo' SMALLINT(2)NOT NULL, 'descripcion' VARCHAR(20)默认NULL, 'siglas' VARCHAR(10)默认NULL, PRIMARY KEY(' codigo') )ENGINE = MyISAM的默认字符集= latin1' 的 – user1039875

回答

0

我还没有检查您的查询是否为“智能”,但您必须使用aliases,因为您在查询中使用了两次dat_trabajadores

您必须告诉MySQL您在JOIN中使用哪张表。

select simplex_comunes.cod_color_piel.descripcion as cod_color_piel, simplex_comunes.cod_sexo.descripcion as cod_sexo, count(*) 
from simplex_comunes.cod_color_piel,simplex_comunes.cod_sexo 
inner join simplex_ch.dat_trabajadores tr1 on simplex_ch.tr1.id_color_piel = simplex_comunes.cod_color_piel.codigo 
inner join simplex_ch.dat_trabajadores tr2 on simplex_comunes.cod_sexo.codigo = simplex_ch.tr2.id_sexo 
group by simplex_comunes.cod_color_piel.descripcion,simplex_comunes.cod_sexo.descripcion 
+0

当我尝试用这种方式,我得到这个错误,未知列“simplex_comunes.cod_color_piel .codigo'在'on子句'中,而且我仍然不明白,simplex_comunes.cod_color_piel在from子句中,并且有'codigo'列。 – user1039875

0

在查询中有两个相同的别名。

重命名这些不同

select simplex_comunes.cod_color_piel.descripcion as descripcion, 
    simplex_comunes.cod_sexo.descripcion as cod_sexo_descripcion, 
count(*) 
from simplex_comunes.cod_color_piel,simplex_comunes.cod_sexo 
inner join simplex_ch.dat_trabajadores t1 on t1.id_color_piel = simplex_comunes.cod_color_piel.codigo 
inner join simplex_ch.dat_trabajadores t2 on simplex_comunes.cod_sexo.codigo = t2.id_sexo 
group by simplex_comunes.cod_color_piel.descripcion,simplex_comunes.cod_sexo.descripcion 
+0

当我尝试使用这种方式时,出现了'on子句'中的错误'unknownx_comunes.cod_color_piel.codigo',但我仍然不明白,simplex_comunes.cod_color_piel在from子句中,并且'codigo'列 – user1039875

+0

试试这个编辑答案。 –