CONCAT在列中搜索

时间:2013-11-07 18:21:54

标签: mysql sql database

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”。他没有去过马戏团,也没去过商店。所以我想让他出现。

Becouse我不能在这里发布图片,至少我可以获得我想要制作的表格链接... http://imm.io/1k5tJ 我希望你能破译我想说的话。

2 个答案:

答案 0 :(得分:0)

根据您在上面的评论:"我想找到谁在Concated列,但不在用户而不是参与者",然后此查询将允许您选择所有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

我认为你对问题的描述仍然不清楚,但这是朝着正确方向迈出的一步。

更新:根据您对问题的评论更改列名称。

答案 1 :(得分: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