从多个MySQL表中搜索SQL查询
我正在尝试对多个表执行搜索 我将简化问题,并说我有两个表从多个MySQL表中搜索SQL查询,mysql,search,Mysql,Search,我正在尝试对多个表执行搜索 我将简化问题,并说我有两个表Worker和Customer都有Id、Name、姓氏,Worker有额外的Position,所有字段都是varchar,除了Id是Int 如何进行查询,以返回客户或工作者的行,其中一个字段包含输入的搜索字符串 我尝试了连接,但也返回了连接行 select id,name,surname,position,'worker' as tbl from worker where .. union all select id,name,surnam
Worker
和Customer
都有Id、Name、姓氏
,Worker
有额外的Position
,所有字段都是varchar
,除了Id
是Int
如何进行查询,以返回客户
或工作者
的行,其中一个字段包含输入的搜索字符串
我尝试了连接,但也返回了连接行
select id,name,surname,position,'worker' as tbl from worker where ..
union all
select id,name,surname,'','customer' from customer where ...
通过这种方式,您甚至可以知道结果表所属。只需
UNION
两个查询。如果你真的能
加入这两者,你可以使用
SELECT
子句中的IF
语句显示右侧字段。
但是,根据我从您的问题中了解到的情况,请使用UNION
,因为某种原因,我认为我不能使用UNION,因为字段不完全匹配。我错了,谢谢。看看我的例子。添加一个“空”字段以匹配该数字就足够了。