工作狂: 发表于 2023-5-4 08:12:10

sql验证出错

(SELECT
        t.`分组编号`,
        t.`报价单号`,
        t.`第三方订单号` AS `客户单号`,
        date_format(t.`创建时间`, '%Y-%m-%d') AS `报价日期`,
        t.`空间区域` AS `安装区域`,

        floor(t.`工厂价`/100) AS `金额`,

        t1.`产品大类名称` as `产品大类`,
        t.`生产单号`
FROM
        `报价单主表` AS t
        LEFT JOIN
        `产品大类` AS t1
        ON
                t.`产品大类ID` = t1.`产品大类ID`
WHERE
        t.`分组编号` = ?
ORDER BY
        t.`报价单号` ASC
)
UNION ALL
(
SELECT
        t.`分组编号`,
        "Z" AS `报价单号`,
        "" AS `客户单号`,
        "" AS `报价日期`,
        "总金额:" AS `安装区域`,

        sum(floor(t.`工厂价`/100))AS `总金额`,

        "" as `产品大类`,
        "" as `生产单号`
FROM
        `报价单主表` AS t
WHERE
        t.`分组编号` = ?
)






相同的sql,本地设计器验证正常,web设计器验证报错

Eden.Sun 发表于 2023-5-4 08:12:11

工作狂: 发表于 2023-5-4 22:24
如果sql 去掉froolweb设计器验证就不会报错了,但是达不到效果

您在web设计器的sql里面,双引号改成: " ";   中间加个空格


Bella.Yuan 发表于 2023-5-4 09:39:01

您好,您在检查一下桌面设计器和web设计器使用的sql是否一致,根据web设计器的报错信息看是“使用的Select语句具有不用数量的列”,原因:您的sql中使用了UNION 连接2张表时,查询字段数量不一致。
帮您找了一个链接,您可以参考一下:
MySQL:The used SELECT statements have a different number of columns_Asurplus的博客-CSDN博客



工作狂: 发表于 2023-5-4 22:13:49

本帖最后由 工作狂: 于 2023-5-4 22:19 编辑

完全一样的sql,web设计器的sql是复制粘贴来的桌面设计器验证不会对floor报错,web设计器会报错

工作狂: 发表于 2023-5-4 22:24:20

工作狂: 发表于 2023-5-4 22:13
完全一样的sql,web设计器的sql是复制粘贴来的桌面设计器验证不会对floor报错,web设计器会报错

如果sql 去掉froolweb设计器验证就不会报错了,但是达不到效果
页: [1]
查看完整版本: sql验证出错