2013-11-07 4 views
0
SELECT 
    People.Name, People.Secondname 
    CONCAT(People.Name," ", People.Secondname) 
FROM People, Shop, Circus 
WHERE CONCAT(People.Name," ", People.Secondname) != Shop.Buyer 
    AND CONCAT(People.Name," ", People.Secondname) != Circus.Watcher 

Хорошо, так что это мой вопрос. Есть 2 столбца. Я контактировал их и хочу найти список людей, которые не были в Shop AND Circus. Например: я назвал полное имя - «Jhon Jhonson». Он не был в цирке и не был в магазине. Поэтому я хочу, чтобы его показали.CONCAT поиск в колонках

Becouse Я не могу опубликовать изображение здесь, по крайней мере, я могу получить ссылку на таблицу, которую я пытаюсь сделать ... http://imm.io/1k5tJ Надеюсь, вы сможете расшифровать то, что я хочу сказать.

+0

Я не 100% уверен, что вы пытаетесь сделать, но делать декартовы соединения между 3 таблицы, как правило, ненужной и, безусловно, не рекомендуется. –

ответ

0

попробовать

SELECT 
    People.Name, People.Secondname 
    CONCAT(People.Name," ", People.Secondname) 
FROM People left outer join Shop on CONCAT(People.Name," ", People.Secondname) = Shop.Buyer 
left outer join Circus on CONCAT(People.Name," ", People.Secondname) = Circus.Watcher 
where Shop.Buyer is null and Circus.Watcher is null 
+0

Спасибо - он работал !!! Просто нужно ВНЕШНЕЕ слово э. Хороший :) – user2965118

0

Основываясь на вашем комментарии выше: «Я хотел бы найти, кто находится в Консолидированной колонке, но не в« Пользователи И не в Участниках », то этот запрос позволит вам выбрать все данные tbl1, где пользователь и участник не существует во вторичной и третичной таблицах соответственно.

select 
    tbl1.name, 
    tbl1.name2 
from People tbl1 
    left join Show1 tbl2 on tbl1.name = tbl2.user 
    left join Show2 tbl3 on tbl1.name2 = tbl3.participant 
where tbl2.user is null 
    and tbl3.participant is null 

Я думаю, что ваше описание проблемы до сих пор неясно, но это шаг в правильном направлении.

Обновление: Изменение имен столбцов на основе ваших комментариев по вопросу.

+0

Спасибо за предложение, но это didnt работа для меня:/IF У вас есть другие идеи, а затем быть моим гостем :) – user2965118

+0

Ваш путь показывает мне всех людей в списке пользователей:/ – user2965118

+0

Я сделал этот запрос на лету и сделал не проверять. Я оставил слово «наружный». Похоже, что это то же самое, что и принятый ответ, за исключением поля пользователя и участника, на самом деле это конкатенированное поле, которое я не ожидал. Рад, что кто-то заставил его работать на вас! –

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