场景:
希望使用phoenix做查询服务,给服务端提供接口
设计:
通过springboot做restful的接口发布,通过mybatis做phoenix的sql处理,因此是springboot+mybatis+phoenix的集成方案;
但是会遇到一个坑!
=========================================我是华丽的分割线=====================================================
先简单汇报下场景:
做网约车的预约单查询处理,如图:
这里面需要使用一个时间窗口查询6种时间:推送订单时间、有效抢单时间、抢单成功时间、取消订单时间、达到目的地时间、支付时间
这里可能遇到一个问题:跨天支付!
因此为了解决跨天支付,需要在处理好的基表基础上做6次查询 ,分别对应不同的查询时间,然后做union处理,最后在求和(注意:就是在最后在求和的地方出错!!!!!)
先看下有问题的代码:
<select id="searchContext" resultType="com.df.entity.SearchInfo"> SELECT TB."driver_id", TB."driver_name"", TB."mobile", TB."alliance_name", TB."register_city", TB."driver_type", SUM(TB."pushOrderNum") AS "pushOrderNum" , SUM(TB."effectiveSlogan") AS "effectiveSlogan", SUM(TB."grab_sus_order") AS "grab_sus_order", SUM(TB."cancel_order_num") AS "cancel_order_num", SUM(TB."cancel_passenger_num") AS "cancel_passenger_num", SUM(TB."cancel_driver_num") AS "cancel_driver_num", SUM(TB."cancel_service_num") AS "cancel_service_num", SUM(TB."destination_reached_num") AS "destination_reached_num", SUM(TB."pay_num") AS "pay_num", SUM(TB."order_cumulative_num") AS "order_cumulative_num", SUM(TB."order_pay_cumulative_num") AS "order_pay_cumulative_num" FROM ( SELECT "driver_id" , "driver_name" , "mobile" , "alliance_name" , "register_city" , "driver_type" , sum(to_number("pushOrderNum")) AS "pushOrderNum" , sum(0) AS "effectiveSlogan" , sum(0) AS "grab_sus_order" , sum(0) AS "cancel_order_num", sum(0) AS "cancel_passenger_num", sum(0) AS "cancel_driver_num", sum(0) AS "cancel_service_num" , sum(0) AS "destination_reached_num" , sum(0) AS "pay_num" , sum(0) AS "order_cumulative_num", sum(0) AS "order_pay_cumulative_num" FROM "_crontab_reservation" WHERE CASE WHEN "pushOrderTime" != '0' THEN TO_DATE("pushOrderTime",'yyyy-MM-dd') >= TO_DATE(#{start_time},'yyyy-MM-dd') AND TO_DATE("pushOrderTime",'yyyy-MM-dd') <= TO_DATE(#{end_time},'yyyy-MM-dd') ELSE 1=1 END <if test="driver_id != null and driver_id !=''" > and "driver_id"= #{driver_id} if> <if test="driver_name != null and driver_name !=''" > and "driver_name" = #{driver_name} if> <if test="mobile != null and mobile !=''" > and "mobile" = #{mobile} if> <if test="alliance_name != null and alliance_name !=''" > and "driver_management_id" = #{alliance_name} if> <if test="register_city != null and register_city !=''" > and substr("register_city" , 0 , 4) = substr(#{register_city} , 0 , 4) if> <if test="driver_type != null and driver_type !=''" > and "driver_type" = #{driver_type} if> GROUP BY "driver_id" , "driver_name" , "mobile" , "alliance_name" , "register_city" , "driver_type"union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>effectiveSlogan</span><span>"</span>)) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>_effective_glab_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>_effective_glab_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>_effective_glab_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span> ><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span> ><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>grab_sus_order</span><span>"</span>)) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>grab_sus_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>grab_sus_time</span><span>"</span> , <span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time} , <span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>grab_sus_time</span><span>"</span> , <span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time} , <span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span> ><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span> ><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>cancel_order_num</span><span>"</span>)) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(to_number(</span><span>"</span><span>cancel_passenger_num</span><span>"</span>)) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(to_number(</span><span>"</span><span>cancel_driver_num</span><span>"</span>)) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(to_number(</span><span>"</span><span>cancel_service_num</span><span>"</span>)) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>cancel_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>cancel_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>cancel_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span> ><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span> ><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>destination_reached_num</span><span>"</span>)) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>close_gps_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>close_gps_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>close_gps_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span> ><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span> ><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>pay_num</span><span>"</span>)) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>order_cumulative_num</span><span>"</span>)) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(to_number(</span><span>"</span><span>order_pay_cumulative_num</span><span>"</span>)) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>pay_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>pay_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>pay_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span> ><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span> ><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span> ><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> ) </span><span>as</span><span> TB GROUP BY TB.</span><span>"</span><span>driver_id</span><span>"</span><span> , TB.</span><span>"</span><span>driver_name</span><span>"</span><span> , TB.</span><span>"</span><span>mobile</span><span>"</span><span> , TB.</span><span>"</span><span>alliance_name</span><span>"</span><span> , TB.</span><span>"</span><span>register_city</span><span>"</span><span> , TB.</span><span>"</span><span>driver_type</span><span>"</span> select></pre>有问题的代码
这段代码大概就是:
select tb."driver_id" ... , sum(xxx1) , sum(xxx2) , ..... from ( A union B union C union D union E union F union G ) as tb group by tb."driver_id" ...
这种操作的问题就在于:使用mybatis做union后,生成了一张表tb , 按照phoenix的官方说法是,phoenix严格区别大小写的,因此我们做完phoenix后,习惯性的在字段上加上双引号;
但是如果是使用mybatis做了集成后,union生成的表名称和字段名称,是不需要也不能在区分大小写的,因此在加双引号,就会出现字段找不到等一系列错误
解决后的代码:
<select id="searchContext" resultType="com.df.entity.SearchInfo"> SELECT "TB1".driver_id, "TB1".driver_name, "TB1".mobile, "TB1".alliance_name, "TB1".register_city, "TB1".driver_type, SUM("TB1".pushOrderNum) AS "pushOrderNum" , SUM("TB1".effectiveSlogan) AS "effectiveSlogan", SUM("TB1".grab_sus_order) AS "grab_sus_order", SUM("TB1".cancel_order_num) AS "cancel_order_num", SUM("TB1".cancel_passenger_num) AS "cancel_passenger_num", SUM("TB1".cancel_driver_num) AS "cancel_driver_num", SUM("TB1".cancel_service_num) AS "cancel_service_num", SUM("TB1".destination_reached_num) AS "destination_reached_num", SUM("TB1".pay_num) AS "pay_num", SUM("TB1".order_cumulative_num) AS "order_cumulative_num", SUM("TB1".order_pay_cumulative_num) AS "order_pay_cumulative_num" from (SELECT "driver_id" , "driver_name" , "mobile" , "alliance_name" , "register_city" , "driver_type" , sum(to_number("pushOrderNum")) AS "pushOrderNum" , sum(0) AS "effectiveSlogan" , sum(0) AS "grab_sus_order" , sum(0) AS "cancel_order_num", sum(0) AS "cancel_passenger_num", sum(0) AS "cancel_driver_num", sum(0) AS "cancel_service_num" , sum(0) AS "destination_reached_num" , sum(0) AS "pay_num" , sum(0) AS "order_cumulative_num", sum(0) AS "order_pay_cumulative_num" FROM "_crontab_reservation" WHERE CASE WHEN "pushOrderTime" != '0' THEN TO_DATE("pushOrderTime",'yyyy-MM-dd') >= TO_DATE(#{start_time},'yyyy-MM-dd') AND TO_DATE("pushOrderTime",'yyyy-MM-dd') <= TO_DATE(#{end_time},'yyyy-MM-dd') ELSE 1=1 END <if test="driver_id != null and driver_id !=''"> and "driver_id"= #{driver_id} if> <if test="driver_name != null and driver_name !=''"> and "driver_name" = #{driver_name} if> <if test="mobile != null and mobile !=''"> and "mobile" = #{mobile} if> <if test="alliance_name != null and alliance_name !=''"> and "driver_management_id" = #{alliance_name} if> <if test="register_city != null and register_city !=''"> and substr("register_city" , 0 , 4) = substr(#{register_city} , 0 , 4) if> <if test="driver_type != null and driver_type !=''"> and "driver_type" = #{driver_type} if> GROUP BY "driver_id" , "driver_name" , "mobile" , "alliance_name" , "register_city" , "driver_type"union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>effectiveSlogan</span><span>"</span>)) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>_effective_glab_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>_effective_glab_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>_effective_glab_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span>><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span>><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>grab_sus_order</span><span>"</span>)) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>grab_sus_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>grab_sus_time</span><span>"</span> , <span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time} , <span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>grab_sus_time</span><span>"</span> , <span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time} , <span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span>><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span>><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>cancel_order_num</span><span>"</span>)) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(to_number(</span><span>"</span><span>cancel_passenger_num</span><span>"</span>)) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(to_number(</span><span>"</span><span>cancel_driver_num</span><span>"</span>)) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(to_number(</span><span>"</span><span>cancel_service_num</span><span>"</span>)) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>cancel_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>cancel_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>cancel_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span>><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span>><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>destination_reached_num</span><span>"</span>)) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>close_gps_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>close_gps_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>close_gps_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span>><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span>><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> union all SELECT </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>pushOrderNum</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>effectiveSlogan</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>grab_sus_order</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>cancel_order_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_passenger_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_driver_num</span><span>"</span><span>, sum(</span><span>0</span>) AS <span>"</span><span>cancel_service_num</span><span>"</span><span> , sum(</span><span>0</span>) AS <span>"</span><span>destination_reached_num</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>pay_num</span><span>"</span>)) AS <span>"</span><span>pay_num</span><span>"</span><span> , sum(to_number(</span><span>"</span><span>order_cumulative_num</span><span>"</span>)) AS <span>"</span><span>order_cumulative_num</span><span>"</span><span>, sum(to_number(</span><span>"</span><span>order_pay_cumulative_num</span><span>"</span>)) AS <span>"</span><span>order_pay_cumulative_num</span><span>"</span><span> FROM </span><span>"</span><span>_crontab_reservation</span><span>"</span><span> WHERE CASE WHEN </span><span>"</span><span>pay_time</span><span>"</span> != <span>'</span><span>0</span><span>'</span><span> THEN TO_DATE(</span><span>"</span><span>pay_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) >= TO_DATE(#{start_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) AND TO_DATE(</span><span>"</span><span>pay_time</span><span>"</span>,<span>'</span><span>yyyy-MM-dd</span><span>'</span>) <= TO_DATE(#{end_time},<span>'</span><span>yyyy-MM-dd</span><span>'</span><span>) ELSE </span><span>1</span>=<span>1</span><span> END </span><<span>if</span> test=<span>"</span><span>driver_id != null and driver_id !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_id</span><span>"</span>=<span> #{driver_id} </span>if> <<span>if</span> test=<span>"</span><span>driver_name != null and driver_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_name</span><span>"</span> =<span> #{driver_name} </span>if> <<span>if</span> test=<span>"</span><span>mobile != null and mobile !=''</span><span>"</span>><span> and </span><span>"</span><span>mobile</span><span>"</span> =<span> #{mobile} </span>if> <<span>if</span> test=<span>"</span><span>alliance_name != null and alliance_name !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_management_id</span><span>"</span> =<span> #{alliance_name} </span>if> <<span>if</span> test=<span>"</span><span>register_city != null and register_city !=''</span><span>"</span>><span> and substr(</span><span>"</span><span>register_city</span><span>"</span> , <span>0</span> , <span>4</span>) = substr(#{register_city} , <span>0</span> , <span>4</span><span>) </span>if> <<span>if</span> test=<span>"</span><span>driver_type != null and driver_type !=''</span><span>"</span>><span> and </span><span>"</span><span>driver_type</span><span>"</span> =<span> #{driver_type} </span>if><span> GROUP BY </span><span>"</span><span>driver_id</span><span>"</span><span> , </span><span>"</span><span>driver_name</span><span>"</span><span> , </span><span>"</span><span>mobile</span><span>"</span><span> , </span><span>"</span><span>alliance_name</span><span>"</span><span> , </span><span>"</span><span>register_city</span><span>"</span><span> , </span><span>"</span><span>driver_type</span><span>"</span><span> ) AS </span><span>"</span><span>TB1</span><span>"</span><span> GROUP BY </span><span>"</span><span>TB1</span><span>"</span><span>.driver_id , </span><span>"</span><span>TB1</span><span>"</span><span>.driver_name , </span><span>"</span><span>TB1</span><span>"</span><span>.mobile , </span><span>"</span><span>TB1</span><span>"</span><span>.alliance_name , </span><span>"</span><span>TB1</span><span>"</span><span>.register_city , </span><span>"</span><span>TB1</span><span>"</span><span>.driver_type </span>select></pre>解决后的代码
Original: https://www.cnblogs.com/niutao/articles/11234564.html
Author: niutao
Title: 记一次springboot+mybatis+phoenix在代码集成中的坑
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/534114/
转载文章受原作者版权保护。转载请注明原作者出处!