传入的参数p_ms与p_platform对吗

${IF(DATE(p_enddate)<= DATE('2025-06-30'),
    IF(LEN(p_platform) = 0,
        "",
        " AND T3.PAYTYPE IN (
            SELECT PAYTYPE FROM (
                SELECT DISTINCT PLATFORM, OLD_PAYTYPE AS PAYTYPE FROM DIM_DS_PAYTYPE WHERE YWTYPE_ID= '" + p_ms+ "' 
                UNION 
                SELECT PLATFORM, NEW_PAYTYPE AS PAYTYPE FROM DIM_DS_PAYTYPE WHERE YWTYPE_ID= '" + p_ms+ "'
                UNION 
                SELECT PLATFORM, SHOUGONG AS PAYTYPE FROM DIM_DS_PAYTYPE WHERE YWTYPE_ID= '" + p_ms+ "'
            ) T WHERE PLATFORM = '" + p_platform + "')"
    ),
    IF(LEN(p_platform) = 0,
        "",
        " AND T1.SALENO IN(
            SELECT SALENO 
            FROM H2.T_SALE_H@DBLINK_HYDEE 
            WHERE BTC_PLACE_NAME = '" + p_platform + "' AND BTC_TYPE='" + p_ms+ "') "
   )
)}

帆软用户T8KW6ag30L 发布于 2025-6-16 14:49
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2025-6-16 14:51

你的写法没问题啊

是查不到数据?

  • 帆软用户T8KW6ag30L 帆软用户T8KW6ag30L(提问者) 我输入了p_ms与p_platform后他走的是第二个条件的,但是我给的时间是2025-06-16
    -- 查询对应平台的支付方式
    AND T1.SALENO IN(
    SELECT SALENO
    FROM H2.T_SALE_H@DBLINK_HYDEE
    WHERE BTC_PLACE_NAME = '京东' AND BTC_TYPE='1')
    2025-06-16 14:55 
  • 华莉星宸 华莉星宸 回复 帆软用户T8KW6ag30L(提问者) 你里面有个两个 判断 都是判断的 p_platform
    你看看是不是错了
    2025-06-16 15:00 
  • 帆软用户T8KW6ag30L 帆软用户T8KW6ag30L(提问者) 回复 华莉星宸 这个没有问题,外面有一个时间判断的IF条件,如果满足走第一个,不满足走第二个
    2025-06-16 15:02 
  • 华莉星宸 华莉星宸 回复 帆软用户T8KW6ag30L(提问者) 我说的是 if里面 有两个 p_platform啊
    2025-06-16 15:16 
最佳回答
0
ScyalcireLv7高级互助
发布于2025-6-16 15:13

对于第一个if函数来说,你这边两个执行条件是一样的啊

image.png

  • 2关注人数
  • 31浏览人数
  • 最后回答于:2025-6-16 15:13
    请选择关闭问题的原因
    确定 取消
    返回顶部