MySQL Join - не уникальная ошибка таблицы / псевдонима - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь объединить 2 таблицы, но я получил ошибку

'не уникальная таблица / псевдоним:' ct '

запрос

select em.* ,ct.Cities_NAME
from Customer em,
     Cities ct inner join Cities ct on ct.Cities_ID = em.Customer_CITY 
where Customer_GROUP is NULL and Customer_ENABLED is not FALSE and Customer_TYPE != 'User'

где ошибка и почему?

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018
select em.* ,ct.Cities_NAME
 from Customer em , 
 Cities ct
 Where
 ct.Cities_ID = em.Customer_CITY -- it allows only matched id with city 
 and 
 Customer_GROUP is NULL  -- it accept when customer_group is null
 and 
 Customer_ENABLED not like '%FALSE%'  --it filter if customer enables is true
 and 
 Customer_TYPE not like '%User%'  -- it accepts customer type is not as user     
0 голосов
/ 17 сентября 2018

Никогда не используйте запятые в предложении FROM. Всегда используйте правильный, явный, стандартный JOIN синтаксис:

select em.*, ct.Cities_NAME
from Customer em inner join
     Cities ct
     on ct.Cities_ID = em.Customer_CITY 
where em.Customer_GROUP is NULL and
      em.Customer_ENABLED and
      em.Customer_TYPE <> 'User';

Почему-то вы указали ct дважды в запросе.Также следует указать все ссылки на столбцы в запросе.

...