在MYSQL中,两个结构不完全相同的表,能使用相同的一个字段作为条件合并查询到一个结果集中吗?
RT,A、B两表都有title字段,以titleLIKE'%abc%'为条件分别在A、B表中都能查询到一些结果,因为要使用分页LIMIT来分页,但两表数据结构不同不能使用...
RT,A、B两表都有title字段,以title LIKE '%abc%'为条件分别在A、B表中都能查询到一些结果,因为要使用分页LIMIT来分页,但两表数据结构不同不能使用UNION,请问有别的办法吗?
展开
4个回答
展开全部
可以用select “空值”或“常量”办法来虚拟补齐两表互相没有的字段,进而实现两个不同结构数据表查询结果集的合并。
下面举例做示范演示:
A(a,b,c,d)
B(d,e,f,g)
A、B两表只存在一个共有字段d
select a,b,c,d,null as e,null as f,null as g
from A where d LIKE '%abc%'
union all
select null,null,null,d,e,f,g
from B where d LIKE '%abc%';
2013-05-13
展开全部
先弄清概念,union 是合并记录集,不管你从哪里查出来,要能 union 的话,字段数量和结构必须相同;你说的 A、B表都有 title ,那么你很有可能是想关联查询,关联查询是合并不同表中的字段到一起, union是合并不同表中的记录集到一起。
关联查询条件中类似这样写:
where A.title=B.title and A.title like '%abc%'
这样,就把 A,B表中具有相同 title 值的记录字段抽取出来组合在一起呈现,并且按你给定的关键字 '%abc%'抽取。
关联查询条件中类似这样写:
where A.title=B.title and A.title like '%abc%'
这样,就把 A,B表中具有相同 title 值的记录字段抽取出来组合在一起呈现,并且按你给定的关键字 '%abc%'抽取。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表的数据量大的话'尽量查出结果'程序里面拼接'效率更高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似字段数量一样就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询