2014-02-10 3 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 DEFAULT CHARSET = 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 'in' on clause ', и я все еще не понимаю, 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

Когда я пытаюсь использовать этот путь, я получаю эту ошибку, Неизвестный столбец «simplex_comunes.cod_color_piel.codigo» в разделе «on», и я все еще не понимаю, simplex_comunes.cod_color_piel находится в предложении from и имеет столбец «codigo» – user1039875

+0

попробуйте этот отредактированный ответ. –

Смежные вопросы