Mysql 列搜索

Mysql 列搜索,mysql,sql,database,Mysql,Sql,Database,好的,这是我的问题。共有2列。我已经关注了他们,想找到那些没有去过商店和马戏团的人的名单。比如:我有一个全名——“Jhon Jhonson”。他没去过马戏团,也没去过商店。所以我想给他看 因为我不能在这里发布图片,至少我可以得到我试图制作的表格的链接。。。 我希望你能理解我想说的。基于你上面的评论:“我想找出谁在Concated列中,但不在Users和participant中”,那么这个查询将允许你选择所有tbl1数据,其中user和participant分别不在secondary表和secon

好的,这是我的问题。共有2列。我已经关注了他们,想找到那些没有去过商店和马戏团的人的名单。比如:我有一个全名——“Jhon Jhonson”。他没去过马戏团,也没去过商店。所以我想给他看

因为我不能在这里发布图片,至少我可以得到我试图制作的表格的链接。。。
我希望你能理解我想说的。

基于你上面的评论:“我想找出谁在Concated列中,但不在Users和participant中”,那么这个查询将允许你选择所有tbl1数据,其中user和participant分别不在secondary表和secondary表中

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
我认为你对这个问题的描述还不清楚,但这是朝着正确方向迈出的一步

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

试试看

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

我不是100%确定您想做什么,但是在3个表之间进行笛卡尔连接通常是不必要的,并且绝对不推荐。谢谢您的建议,但它对我不起作用:/如果您有任何其他想法,那么请随意:)我动态地执行了此查询,但没有验证。我省略了“外部”这个词。看起来它与接受的响应相同,只是用户和参与者字段实际上是一个串联字段,这是我没有预料到的。很高兴有人能为你工作!哈哈,谢谢你写的几乎不错的方式,当别人有一些线索时,这对他们来说更容易^^
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