@ 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
, существует множество обучающих программ.