【问题标题】:Search SQL query from multiple tables MySQL从多个表 MySQL 中搜索 SQL 查询
【发布时间】:2011-05-01 23:41:44
【问题描述】:

我正在尝试对多个表执行搜索。

我将简化问题并说我有两个表WorkerCustomer 都有Id, Name, SurnameWorker 有额外的Position,所有字段都是varchar 除了Id 是@987654328 @。

如何进行查询以返回 CustomerWorker 的行,其中一个字段包含输入的搜索字符串。

我尝试过加入,但我也返回了加入行。

【问题讨论】:

  • 出于某种原因,我认为我不能使用联合,因为字段不完全匹配。我错了,谢谢。
  • 看看我的例子。只需添加一个“空”字段以匹配数字即可。

标签: mysql search


【解决方案1】:
select id,name,surname,position,'worker' as tbl from worker where ..
union all
select id,name,surname,'','customer' from customer where ...

这样你甚至可以知道结果是什么表。

【讨论】:

    【解决方案2】:

    只需UNION 两个查询。
    如果你真的可以JOIN那两个,你可以使用 SELECT 子句中的 IF 语句以显示正确的字段。
    但是,根据我对您的问题的理解,请选择UNION

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-21
      • 1970-01-01
      • 2010-10-13
      • 2017-01-03
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多