NutzCN Logo
问答 Nutz自定义sql问题,$condition赋值问题
发布于 2283天前 作者 qq_b5a0c867 2251 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

现在有下面场景,自定义sql文件中的sql如下:

SELECT * FROM A , B WHERE A.ID = B.AID $condition

因为在业务中我要根据传入的参数来判断赋值condition
如果用Cnd.where(....)会带出一个新的where
若采用如下方式 生成的sql就变成了 "(A.status=1 and B.status =1)"

 //拼接条件
        Cnd cnd = Cnd.NEW();
        cnd.where().setTop(true);
        CndUtil.and(cnd,"A.Status","=",1);
        CndUtil.and(cnd,"B.Status","=",1);
        sql.setCondition(cnd);

这种情况改如何做呢?

7 回复
cnd.where().setTop(false);

不好意思 我代码贴错了 应该是这样

//拼接条件
        Cnd cnd = Cnd.NEW();
        cnd.where().setTop(false);
        CndUtil.and(cnd,"A.Status","=",1);
        CndUtil.and(cnd,"B.Status","=",1);
        sql.setCondition(cnd);

生成的sql就变成了 "(A.status=1 and B.status =1)"

@wendal 兽兽,我贴错了,看我下面回复,直接连and都没了

来自炫酷的 NutzCN

版本号

        <dependency>
            <groupId>org.nutz</groupId>
            <artifactId>nutz-plugins-spring-boot-starter</artifactId>
            <version>1.r.65</version>
        </dependency>

top=false就只剩条件了, 语句里面加个and吧

@wendal 不能这样,condition里面可能不会有值

来自炫酷的 NutzCN

没有值也放个1=1进去

添加回复
请先登陆
回到顶部