Неуникальный псевдоним таблицы - PullRequest
0 голосов
/ 06 августа 2020
set @carer_fname = 'Carername';
set @carer_sname = 'Carersname';
select concat_ws(' ', C.child_fname, C.child_sname) as 'Child Name'
,C.child_carer
,A.activity_name, A.activity_day
from Child C, Activity A
inner join Child C on CA.child_id = C.child_id
inner join Activity A on CA.activity_id = A.activity_id
order by child_sname

Ответ: Код ошибки: 1066. Неуникальная таблица / псевдоним: 'C'

Не совсем уверен, почему появляется C не уникально

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 06 августа 2020

@ Dravenzo вы используете несколько экземпляров таблицы Child и оба раза присваиваете ей псевдоним C:

set @carer_fname = 'Carername';
set @carer_sname = 'Carersname';
select concat_ws(' ', C.child_fname, C.child_sname) as 'Child Name'
,C.child_carer
,A.activity_name, A.activity_day
from -->Child C<--, Activity A -- first instance of aliasing Child as C
inner join -->Child C<-- on CA.child_id = C.child_id -- second instance of aliasing Child as C
inner join Activity A on CA.activity_id = A.activity_id
order by child_sname

Не совсем понятно, что вы пытаетесь сделать с этим запросом потому что в предложении FROM вы перечисляете обе таблицы Child и Activity, а затем используете операторы JOIN в запутанной манере. Кроме того, вы имеете в виду псевдоним CA, но не указываете, какая таблица должна иметь псевдоним CA.

Это только предположение о том, что вы хотите сделать со своим запросом из-за сбивающие с толку аспекты того, что вы перечислили, но попробуйте что-то вроде этого:

set @carer_fname = 'Carername';
set @carer_sname = 'Carersname';
select concat_ws(' ', C.child_fname, C.child_sname) as 'Child Name',
    C.child_carer,
    A.activity_name, 
    A.activity_day
from Child C
inner join Activity A on A.activity_id = C.activity_id
order by C.child_sname

Я предлагаю прочитать MySQL присоединяется к официальной документации здесь или поискать в Google MySQL JOINS tutorial, существует множество обучающих программ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...