Mysql查询添加自定义列

最近在做的一个项目里面,有两个订单表,一个是线上订单表 online_order,一个是线下订单表 offline_order , 在前端展示的时候,需要将这两个表的数据放到一起作为列表展示出来,所以使用 UNION ALL  来实现。

(SELECT id,real_price,member_id,created_at FROM z_takeout_order WHERE 1 ORDER BY created_at DESC)
UNION ALL 
(SELECT id,real_price,member_id,created_at FROM z_bakery_order WHERE 1 ORDER BY created_at DESC) 
LIMIT 0,3;

效果如下:

Mysql查询添加自定义列_第1张图片

但是这样出现了一个问题,获取到的数据,无法区分是线上的订单还是线下的订单,因为两个订单表对应不同的订单商品表,所以就想到了,添加自定义列来实现,于是就变成了这样:

(SELECT id,real_price,member_id,0 as line,created_at FROM z_takeout_order WHERE 1 ORDER BY created_at DESC)
UNION ALL 
(SELECT id,real_price,member_id,1 as line,created_at FROM z_bakery_order WHERE 1 ORDER BY created_at DESC) 
LIMIT 0,3;

效果如下:

Mysql查询添加自定义列_第2张图片

这样通过自定义line字段,就能知道行数据属于线上订单还是线下订单的了。

 

 

你可能感兴趣的:(mysql)