php怎么把多个sql查询结果集合并?每个结果集的结构不同

有三个结果集A,B,C,分别是从不同的表联合查询出的结果。A:selecttime,type,property1,property2,property3,pricefro... 有三个结果集A,B,C,分别是从不同的表联合查询出的结果。
A:select time,type,property1,property2,property3,price from xxxxxx……
B:select time,type,property4 price from xxxxxx……
C:select time,type,property5,property6 from xxxxxx……
现要将三个查询结果集合并,并按time时间字段排序,最后打印出每行信息。
请问该如何实现?
展开
 我来答
阳光上的桥
推荐于2016-10-01 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65814
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
最简单的方法,把结果弄成一致,例如使用下面的SQL查询语句:
select time,type,property1,property2,property3,price from xxxxxx……
union all
select time,type,property4,price,0,0 from xxxxxx……
union all
select time,type,property5,property6,0,0 from xxxxxx……

方法是使用UNION ALL合并查询结果,对于查询字段少的语句增加0或者空白、null等常量,使得查询结果的字段数要相同。

为了得到特殊的排序,可以把上面的查询结果插入临时表,再从临时表中查询结果。
追问
找个时间试试你说的方法。临时表的方法也想到过,但是不是很了解,特别是对于临时表名的冲突问题。因为是根据输入条件进行的查询,怎样避免临时表重复,以及多个人同时查询时的情况临时表应该如何处理?
追答
临时表不会冲突,临时表别的会话是看不见的,就是你有两个程序同时建立同名的临时表,各自访问是不会冲突的。

注意是临时表,建立语句应该是:
CREATE TEMPORARY TABLE .....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式