breath123456 2023-01-31 10:14 采纳率: 0%
浏览 141
已结题

mysql转sql后。显示语句发生错误

问题遇到的现象和发生背景

Ruoyi链接数据源库,从mysql变成sqlserver后发生语句错误,找不到解决办法

遇到的现象和发生背景,请写出第一个错误信息
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WorkCountIncomMapper">
    
    <resultMap type="WorkCountIncom" id="WorkCountIncomResult">
        <result property="id"    column="id"    />
        <result property="companyname"    column="companyname"    />
        <result property="companyid"    column="companyid"    />
        <result property="orgname"    column="orgname"    />
        <result property="orgid"    column="orgid"    />
        <result property="byorgname"    column="byorgname"    />
        <result property="byorgid"    column="byorgid"    />
        <result property="linename"    column="linename"    />
        <result property="lineno"    column="lineno"    />
        <result property="drivername"    column="drivername"    />
        <result property="driverno"    column="driverno"    />
        <result property="selfnumber"    column="selfnumber"    />
        <result property="licensenumber"    column="licensenumber"    />
        <result property="icincome"    column="icincome"    />
        <result property="mvolume"    column="mvolume"    />
        <result property="svolume"    column="svolume"    />
        <result property="incom"    column="incom"    />
        <result property="xvolume"    column="xvolume"    />
        <result property="totalmileage"    column="totalmileage"    />
        <result property="operatingmileage"    column="operatingmileage"    />
        <result property="deadheadmileage"    column="deadheadmileage"    />
        <result property="datadate"    column="datadate"    />
        <result property="addtime"    column="addtime"    />
        <result property="updatetime"    column="updatetime"    />
        <result property="dataflag"    column="dataflag"    />
    </resultMap>

    <sql id="selectWorkCountIncomVo">
        select id, companyname, companyid,orgname, orgid, byorgname, byorgid,  linename, lineno, drivername, driverno, selfnumber, licensenumber, icincome, mvolume, svolume, incom, xvolume,totalmileage,operatingmileage,deadheadmileage, datadate, addtime, updatetime, dataflag from ry.work_count_incom
    </sql>

    <select id="selectWorkCountIncomList" parameterType="WorkCountIncom" resultMap="WorkCountIncomResult">
        <include refid="selectWorkCountIncomVo"/>
        <where>  
            <if test="byorgname != null  and byorgname != ''"> and byorgname like concat('%', #{byorgname}, '%')</if>
            <if test="companyname != null  and companyname != ''"> and companyname like concat('%', #{companyname}, '%')</if>
            <if test="linename != null  and linename != ''"> and linename like concat('%', #{linename}, '%')</if>
            <if test="drivername != null  and drivername != ''"> and drivername like concat('%', #{drivername}, '%')</if>
            <if test="selfnumber != null  and selfnumber != ''"> and selfnumber = #{selfnumber}</if>
            <if test="datadate != null  and datadate != ''"> and datadate = #{datadate}</if>
        </where>
    </select>
    
    <select id="selectWorkCountIncomById" parameterType="Long" resultMap="WorkCountIncomResult">
        <include refid="selectWorkCountIncomVo"/>
        where id = #{id}
    </select>
    <select id="selectWorkCountIncomByIdbyorgname" parameterType="Long" resultMap="WorkCountIncomResult">
        <include refid="selectWorkCountIncomVo"/>
        where id = #{id} and byorgname=#{username}
    </select>

    <select id="selectWorkCountIncomBydate" parameterType="WorkCountIncom" resultMap="WorkCountIncomResult">
        <include refid="selectWorkCountIncomVo"/>
        where datadate between #{starttime} and #{endtime}
    </select>
    <select id="selectWorkCountIncomBydate1" parameterType="WorkCountIncom" resultMap="WorkCountIncomResult">
        <include refid="selectWorkCountIncomVo"/>
        where byorgname=#{username} and datadate =#{datadate}
    </select>
    <select id="selectWorkCountIncomdetailedGroup" parameterType="String" resultMap="WorkCountIncomResult">
        SELECT companyname,companyid,orgname,orgid,byorgname,byorgid,linename,lineno,drivername,driverno,selfnumber,licensenumber,
            sum(CASE WHEN incometype = 'IC卡'   THEN  CONVERT ( incom,  DECIMAL ( 18, 2 ) )  ELSE 0 END ) AS icincome,
            sum(CASE WHEN incomeattr = '免费卡' THEN  CONVERT ( volume, DECIMAL ( 18, 2 ) )  ELSE 0 END ) AS mvolume,
            sum(CASE WHEN incomeattr = '收费卡' THEN  CONVERT ( volume, DECIMAL ( 18, 2 ) )  ELSE 0 END ) AS svolume,
            sum(CASE WHEN incometype = '现金'   THEN  CONVERT ( incom,  DECIMAL ( 18, 2 ) )  ELSE 0 END ) AS incom,
            sum(CASE WHEN incomeattr = '现金'   THEN  CONVERT ( volume, DECIMAL ( 18, 2 ) )  ELSE 0 END ) AS xvolume,
            datadate
    from ry.work_count_incomdetailed where datadate= #{datadate} and byorgname=#{username}
    GROUP BY companyname,companyid,orgname,orgid,byorgname,byorgid,linename,lineno,drivername,driverno,selfnumber,licensenumber,datadate order by driverno
    </select>
    <insert id="insertWorkCountIncom" parameterType="WorkCountIncom" useGeneratedKeys="true" keyProperty="id">
        insert into ry.work_count_incom
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="companyname != null">companyname,</if>
            <if test="companyid != null">companyid,</if>
            <if test="orgname != null">orgname,</if>
            <if test="orgid != null">orgid,</if>
            <if test="byorgname != null">byorgname,</if>
            <if test="byorgid != null">byorgid,</if>
            <if test="linename != null">linename,</if>
            <if test="lineno != null">lineno,</if>
            <if test="drivername != null">drivername,</if>
            <if test="driverno != null">driverno,</if>
            <if test="selfnumber != null">selfnumber,</if>
            <if test="licensenumber != null">licensenumber,</if>
            <if test="icincome != null">icincome,</if>
            <if test="mvolume != null">mvolume,</if>
            <if test="svolume != null">svolume,</if>
            <if test="incom != null">incom,</if>
            <if test="xvolume != null">xvolume,</if>
            <if test="totalmileage != null">totalmileage,</if>
            <if test="operatingmileage != null">operatingmileage,</if>
            <if test="deadheadmileage != null">deadheadmileage,</if>
            <if test="datadate != null">datadate,</if>
            <if test="addtime != null">addtime,</if>
            <if test="updatetime != null">updatetime,</if>
            <if test="dataflag != null">dataflag,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="companyname != null">#{companyname},</if>
            <if test="companyid != null">#{companyid},</if>
            <if test="orgname != null">#{orgname},</if>
            <if test="orgid != null">#{orgid},</if>
            <if test="byorgname != null">#{byorgname},</if>
            <if test="byorgid != null">#{byorgid},</if>
            <if test="linename != null">#{linename},</if>
            <if test="lineno != null">#{lineno},</if>
            <if test="drivername != null">#{drivername},</if>
            <if test="driverno != null">#{driverno},</if>
            <if test="selfnumber != null">#{selfnumber},</if>
            <if test="licensenumber != null">#{licensenumber},</if>
            <if test="icincome != null">#{icincome},</if>
            <if test="mvolume != null">#{mvolume},</if>
            <if test="svolume != null">#{svolume},</if>
            <if test="incom != null">#{incom},</if>
            <if test="xvolume != null">#{xvolume},</if>
            <if test="totalmileage != null">#{totalmileage},</if>
            <if test="operatingmileage != null">#{operatingmileage},</if>
            <if test="deadheadmileage != null">#{deadheadmileage},</if>
            <if test="datadate != null">#{datadate},</if>
            <if test="addtime != null">#{addtime},</if>
            <if test="updatetime != null">#{updatetime},</if>
            <if test="dataflag != null">#{dataflag},</if>
         </trim>
    </insert>

    <update id="updateWorkCountIncom" parameterType="WorkCountIncom">
        update ry.work_count_incom
        <trim prefix="SET" suffixOverrides=",">
            <if test="companyname != null">companyname = #{companyname},</if>
            <if test="companyid != null">companyid = #{companyid},</if>
            <if test="orgname != null">orgname = #{orgname},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="byorgname != null">byorgname = #{byorgname},</if>
            <if test="byorgid != null">byorgid = #{byorgid},</if>
            <if test="linename != null">linename = #{linename},</if>
            <if test="lineno != null">lineno = #{lineno},</if>
            <if test="drivername != null">drivername = #{drivername},</if>
            <if test="driverno != null">driverno = #{driverno},</if>
            <if test="selfnumber != null">selfnumber = #{selfnumber},</if>
            <if test="licensenumber != null">licensenumber = #{licensenumber},</if>
            <if test="icincome != null">ICincome = #{icincome},</if>
            <if test="mvolume != null">mvolume = #{mvolume},</if>
            <if test="svolume != null">svolume = #{svolume},</if>
            <if test="incom != null">incom = #{incom},</if>
            <if test="xvolume != null">xvolume = #{xvolume},</if>
            <if test="totalmileage != null">totalmileage = #{totalmileage},</if>
            <if test="operatingmileage != null">operatingmileage = #{operatingmileage},</if>
            <if test="deadheadmileage != null">deadheadmileage = #{deadheadmileage},</if>
            <if test="datadate != null">datadate = #{datadate},</if>
            <if test="addtime != null">addtime = #{addtime},</if>
            <if test="updatetime != null">updatetime = #{updatetime},</if>
            <if test="dataflag != null">dataflag = #{dataflag},</if>
        </trim>
        where id = #{id}
    </update>
    <update id="updateWorkCountIncomByecah" parameterType="WorkCountIncom">
        update ry.work_count_incom
        <trim prefix="SET" suffixOverrides=",">
            <if test="companyname != null">companyname = #{companyname},</if>
            <if test="companyid != null">companyid = #{companyid},</if>
            <if test="orgname != null">orgname = #{orgname},</if>
            <if test="orgid != null">orgid = #{orgid},</if>
            <if test="byorgname != null">byorgname = #{byorgname},</if>
            <if test="byorgid != null">byorgid = #{byorgid},</if>
            <if test="linename != null">linename = #{linename},</if>
            <if test="lineno != null">lineno = #{lineno},</if>
            <if test="drivername != null">drivername = #{drivername},</if>
            <if test="driverno != null">driverno = #{driverno},</if>
            <if test="selfnumber != null">selfnumber = #{selfnumber},</if>
            <if test="licensenumber != null">licensenumber = #{licensenumber},</if>
            <if test="icincome != null">ICincome = #{icincome},</if>
            <if test="mvolume != null">mvolume = #{mvolume},</if>
            <if test="svolume != null">svolume = #{svolume},</if>
            <if test="incom != null">incom = #{incom},</if>
            <if test="xvolume != null">xvolume = #{xvolume},</if>
            <if test="totalmileage != null">totalmileage = #{totalmileage},</if>
            <if test="operatingmileage != null">operatingmileage = #{operatingmileage},</if>
            <if test="deadheadmileage != null">deadheadmileage = #{deadheadmileage},</if>
            <if test="datadate != null">datadate = #{datadate},</if>
            <if test="addtime != null">addtime = #{addtime},</if>
            <if test="updatetime != null">updatetime = #{updatetime},</if>
            <if test="dataflag != null">dataflag = #{dataflag},</if>
        </trim>
        where companyid= #{companyid} and orgid = #{orgid} and byorgid=#{byorgid}and lineno = #{lineno} and driverno = #{driverno} and selfnumber = #{selfnumber} and datadate=#{datadate}
    </update>


    <delete id="deleteWorkCountIncomById" parameterType="Long">
        delete from ry.work_count_incom where id = #{id}
    </delete>
    <delete id="deleteWorkCountIncomByIds" parameterType="String">
        delete from ry.work_count_incom where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    <delete id="deleteWorkCountIncomByDate" parameterType="String">
        delete from ry.work_count_incom where datadate = #{datadate} and byorgname=#{username}
    </delete>

</mapper>


SQL: SELECT TOP 10 id, rundatadate, companyname, companyid, orgname, orgid, byorgname, byorgid, linename, lineno, selfno, powertype, powerid, drivername, driverno, stewardname, stewardno, totalmileage, operatingmileage, deadheadmileage, workingday, intactday, dailymileage, workingtime, workingtimetwo, businesstime, tripsnumber, punctualtimes, freeexam, earlytimes, latetimes, failuresnumber, failurescarnumber, failurescartime, failurescarmileage, syctime, sycman, addman, addtime, editman, edittime, datassource, datastatus, bumen_bh FROM (SELECT ROW_NUMBER() OVER (ORDER BY RAND()) PAGE_ROW_NUMBER, id, rundatadate, companyname, companyid, orgname, orgid, byorgname, byorgid, linename, lineno, selfno, powertype, powerid, drivername, driverno, stewardname, stewardno, totalmileage, operatingmileage, deadheadmileage, workingday, intactday, dailymileage, workingtime, workingtimetwo, businesstime, tripsnumber, punctualtimes, freeexam, earlytimes, latetimes, failuresnumber, failurescarnumber, failurescartime, failurescarmileage, syctime, sycman, addman, addtime, editman, edittime, datassource, datastatus, bumen_bh FROM (SELECT m.id, m.rundatadate, m.companyname, m.companyid, m.orgname, m.orgid, m.byorgname, m.byorgid, m.linename, m.lineno, m.selfno, m.powertype, m.powerid, m.drivername, m.driverno, m.stewardname, m.stewardno, m.totalmileage, m.operatingmileage, m.deadheadmileage, m.workingday, m.intactday, m.dailymileage, m.workingtime, m.workingtimetwo, m.businesstime, m.tripsnumber, m.punctualtimes, m.freeexam, m.earlytimes, m.latetimes, m.failuresnumber, m.failurescarnumber, m.failurescartime, m.failurescarmileage, m.syctime, m.sycman, m.addman, m.addtime, m.editman, m.edittime, m.datassource, m.datastatus, m.bumen_bh FROM ry.work_count_mileage m LEFT JOIN ry.sys_dept d ON m.bumen_bh = d.bumen_bh) AS PAGE_TABLE_ALIAS) AS PAGE_TABLE_ALIAS WHERE PAGE_ROW_NUMBER > 0 ORDER BY PAGE_ROW_NUMBER<EOL><EOL>### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'lineno' 附近有语法错误。<EOL>; bad SQL grammar []; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'lineno' 附近有语法错误。]

运行结果及详细报错内容

Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'lineno' 附近有语法错误。; bad SQL grammar []; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'lineno' 附近有语法错误。]

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

11条回答

  • chuifengde 2023-01-31 11:07
    关注
    获得1.20元问题酬金

    将lineno都用[]括起来,有两个PAGE_TABLE_ALIAS,将其中一个名字改一下

    评论

报告相同问题?

问题事件

  • 系统已结题 2月8日
  • 修改了问题 1月31日
  • 请详细说明问题背景 1月31日
  • 创建了问题 1月31日