找回密码
 立即注册

QQ登录

只需一步,快速开始

ysjy

中级会员

51

主题

228

帖子

635

积分

中级会员

积分
635
ysjy
中级会员   /  发表于:2023-6-7 14:35  /   查看:6959  /  回复:26
1金币
本帖最后由 ysjy 于 2023-6-7 14:39 编辑

SELECT st.taskId FROM sub_task st WHERE st.number  like "SYJC-2023-02-241%%"  的写法 其中  SYJC-2023-02-241 为我系统中带入的参数  我在设计器中要怎么给 参数使用的? 加上相同的%% 实现模糊查询  我之前的写法是  SELECT st.taskId FROM sub_task st WHERE st.number  like ? &"%%"   但是在查询时报错了
  
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

问题已解决: ① 给您的SQL中拼接时多了一个空格,相当于是 like ' %参数%',导致数据结果为空 ② sql校验不过,报错,是因为咱们的sql中一个判断条件时用 = 判断的,但是返回结果可能是多个值所以报错,远程看的时候,校验报错,但是可以正常运行,因为咱们的 = 后面的返回结果总是只有一条。咱们可以根据实际情况修改一下sql。

26 个回复

倒序浏览
最佳答案
最佳答案
Eden.SunWyn认证
超级版主   /  发表于:2023-6-7 14:35:05
来自 27#

问题已解决:
① 给您的SQL中拼接时多了一个空格,相当于是 like ' %参数%',导致数据结果为空


② sql校验不过,报错,是因为咱们的sql中一个判断条件时用 = 判断的,但是返回结果可能是多个值所以报错,远程看的时候,校验报错,但是可以正常运行,因为咱们的 = 后面的返回结果总是只有一条。咱们可以根据实际情况修改一下sql。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2023-6-7 15:48:39
3#
您好,您可以参考下我的这个实现方式:


效果:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ysjy
中级会员   /  发表于:2023-6-7 16:47:47
4#
Eden.Sun 发表于 2023-6-7 15:48
您好,您可以参考下我的这个实现方式:

好的,我来试一下
回复 使用道具 举报
ysjy
中级会员   /  发表于:2023-6-7 17:09:37
5#
本帖最后由 ysjy 于 2023-6-7 17:11 编辑
Eden.Sun 发表于 2023-6-7 15:48
您好,您可以参考下我的这个实现方式:

我按照你说的方式来写了之后 我的查询语句直接没有了,但是参数值什么的都还在


我的查询语句是这样的

SELECT
        a.id,
        GROUP_CONCAT( a.sampleNumber ) AS sample,
        a.`name`
FROM
        (
        SELECT
                t1.id AS id1,
                t2.sampleNumber,
                t3.testItemId,
                t3.id,
                t4.`name`,
                t3.orderNum
        FROM
                sub_task t1
                LEFT JOIN task_sample t2 ON t1.id = t2.subTaskId
                LEFT JOIN test_course t3 ON t1.id = t3.subTaskId
                LEFT JOIN test_item t4 ON t3.testItemId = t4.id
        WHERE
                t1.taskId = ( SELECT id FROM delegate_task WHERE delegateNumber =   这里添加模糊查询 ?   )
                AND t3.state != "检测项中止"
                AND t4.NAME NOT LIKE "%%EL测试%%"
        ORDER BY
                t1.id,
                t3.orderNum
        ) a
GROUP BY
        a.id
ORDER BY
        a.id1,
        a.orderNum

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2023-6-7 18:17:48
6#
ysjy 发表于 2023-6-7 17:09
我按照你说的方式来写了之后 我的查询语句直接没有了,但是参数值什么的都还在


您这里是没改还是贴代码的时候改成这样了?



您其他地方的sql不用动应该是正确的,您按照我demo里面的吧您的sql改一下。
应该是您仔细看sql前面有=  和  双引号的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ysjy
中级会员   /  发表于:2023-6-8 08:57:15
7#
Eden.Sun 发表于 2023-6-7 18:17
您这里是没改还是贴代码的时候改成这样了?

这边是原来的没改,改了之后查询语句直接变成空白了的,我前面加了= 和双引号
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2023-6-8 11:31:05
9#
ysjy 发表于 2023-6-8 08:57
这边是原来的没改,改了之后查询语句直接变成空白了的,我前面加了= 和双引号

您这边有没有web设计器,您在web设计器里面直接写SQL,设计完成之后在桌面设计器打开。
这个SQL语句的改变,不是说只是加= 和 “”,  您看我的demo,里面加=是为了报表可以识别这个sql语句, 双引号是想把固定的sql语句放在一起,参数在引号之外,是要报表根据参数内容获取参数值的。您再看看。
回复 使用道具 举报
ysjy
中级会员   /  发表于:2023-6-8 11:48:42
10#
Eden.Sun 发表于 2023-6-8 11:31
您这边有没有web设计器,您在web设计器里面直接写SQL,设计完成之后在桌面设计器打开。
这个SQL语句的改 ...

没有web设计器要怎么弄
回复 使用道具 举报
ysjy
中级会员   /  发表于:2023-6-8 11:56:20
11#
Eden.Sun 发表于 2023-6-8 11:31
您这边有没有web设计器,您在web设计器里面直接写SQL,设计完成之后在桌面设计器打开。
这个SQL语句的改 ...

我用表达式的方式往里面写了一下 在查询的时候提示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部