问题描述
- 各位大神麻烦帮忙看下SQL对不对
-
parameterType="String">
SELECT
receive_car_code,
use_time,
sc.coupon_name
FROM
car_coupon cc
LEFT JOIN (SELECT * FROM sys_coupon WHERE coupon_id IN(SELECT coupon_id
FROM sys_coupon_company WHERE 1=1AND company_id=#{companyId}
)) sc
ON sc.coupon_id = cc.coupon_id
WHERE 1 = 1AND
(cc.receive_car_code like CONCAT('%',#{keyword},'%') )AND
sc.oper_datetime < #{endDate}AND
sc.oper_datetime > #{startDate}</select> <select id="getReportAutoCount" resultType="int"> SELECT count(1) FROM car_coupon cc LEFT JOIN (SELECT * FROM sys_coupon WHERE coupon_id IN(SELECT coupon_id FROM sys_coupon_company WHERE 1=1 <if test="companyId !=null and companyId !=''"> AND company_id=#{companyId} </if> )) sc ON sc.coupon_id = cc.coupon_id WHERE 1 = 1 <if test=" endDate != null and endDate != ''"> AND sc.oper_datetime < #{endDate} </if> <if test=" startDate != null and startDate != ''"> AND sc.oper_datetime > #{startDate} </if> <if test=" keyword != null and keyword != ''"> AND (cc.receive_car_code like CONCAT('%',#{keyword},'%') ) </if> </select>
解决方案
实践是检验真理的唯一标准,调试把sql抓出来放在数据库一查不就知道了麻
解决方案二:
这个要结合你的逻辑和数据库才知道,你可以根据条件拼接sql代入数据库查询下。
时间: 2024-08-04 05:22:45