mysql 两表,两个update_time排序问题

当有2表要联表查询时,各有1个update_time。大于某个时间开始查询,查询更新的数据,根据update_time 排序(两张表有可能只更新一张表而已)。

 

1.工单表

CREATE TABLE `shop_work_order` (
`work_order_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '工单ID',
`order_id` int(11) NOT NULL DEFAULT '0' COMMENT '订单ID,及买及耗订单暂存时必填',
`order_no` varchar(50) NOT NULL DEFAULT '' COMMENT '工单编号',
`status` tinyint(3) NOT NULL DEFAULT '10' COMMENT '状态:10已完成20服务中 30部分取消 40全部取消 50暂存',
`store_id` int(11) NOT NULL COMMENT '商户ID',
`user_id` int(11) NOT NULL COMMENT '客户ID',
`shop_id` int(11) NOT NULL COMMENT '操作门店ID',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`create_user` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建人',
`last_user` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后修改人',
`department_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建人部门ID',
`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`work_order_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10037 DEFAULT CHARSET=utf8 COMMENT='工单表';

2.工单表详情

CREATE TABLE `shop_work_order_detail` (
`work_order_detail_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '工单ID',
`order_no` varchar(50) NOT NULL DEFAULT '' COMMENT '工单编号',
`order_id` int(11) NOT NULL COMMENT '订单ID',
`book_order_id` int(11) NOT NULL DEFAULT '0' COMMENT '预约单ID',
`card_id` int(11) NOT NULL DEFAULT '0' COMMENT '卡项ID',
`user_card_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户卡项ID',
`service_id` int(11) NOT NULL COMMENT '服务ID',
`user_service_id` int(11) NOT NULL COMMENT '用户服务ID',
`status` tinyint(3) NOT NULL DEFAULT '10' COMMENT '状态:10已完成 20服务中30撤销中 40已撤销',
`amount` decimal(10,2) NOT NULL COMMENT '消耗总额',
`capital_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '消耗本金总额',
`free_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '消耗赠金总额',
`num` int(11) NOT NULL COMMENT '消耗次数',
`is_comment` tinyint(3) NOT NULL DEFAULT '20' COMMENT '是否评价:10是20否',
`comment_level` tinyint(3) NOT NULL DEFAULT '0' COMMENT '评价等级:10非常满意 20满意 30一般 40不满意',
`remark` varchar(500) DEFAULT NULL COMMENT '评论内容',
`create_user` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建人',
`last_user` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后修改人',
`department_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建人部门ID',
`cancel_employee_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '撤销人ID',
`cancel_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '撤销时间',
`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`work_order_detail_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10034 DEFAULT CHARSET=utf8 COMMENT='工单明细表';

 

 

SELECT
  swo.work_order_id,
  FROM_UNIXTIME( swo.update_time ),
  FROM_UNIXTIME( swod.update_time ) AS uptime,
  swod.work_order_detail_id
FROM
  `shop_work_order` swo
LEFT JOIN `shop_work_order_detail` swod ON swo.order_no = swod.order_no

  where swo.update_time >  1234 or  swod.update_time > 1234
ORDER BY
  -- LEAST (swo.update_time,swod.update_time) DESC
  GREATEST(swo.update_time,swod.update_time) ASC

 

posted @ 2023-02-17 12:02  会飞的鹏  阅读(92)  评论(0编辑  收藏  举报