如何根据某个值,然后再执行某条sql语句,返回为多行

如何根据某个值,然后再执行某条sql语句,返回为多行

如:类似

 IF(1=1) BEGIN SELECT * FROM BO_EU_AAAA END ELSE SELECT * FROM BO_EU_AAAA WHERE ID = '3807d7e9-80a6-4306-8a94-a0ede17c99bc'


怎么转为mysql数据库,返回要多条数据
image.png

麻烦在工具里面执行

873282620 发布于 2020-10-15 17:37 (编辑于 2020-10-15 18:00)
1min目标场景问卷 立即参与
回答问题
悬赏:10 F币 4人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
3
yiyemeiyingLv4高级互助
发布于2020-10-15 17:45(编辑于 2020-10-15 19:02)
${if(a = "a","SELECT * FROM BO_EU_a","SELECT * FROM BO_EU_b WHERE ID = '3807d7e9-80a6-4306-8a94-a0ede17c99bc'")}


--------

存储过程数据集-https://help.fanruan.com/finereport/doc-view-117.html


参考语法写一个存储过程,然后直接调用存储过程;

CREATE DEFINER=`root`@`localhost` PROCEDURE `ttt`()
if  1=1 then
  select id from gudingzichan limit 11 ;
    else
   select id from  gudingzichan limit 111 ;
end if

image.png

  • 873282620 873282620(提问者) 能在mysql数据里面使用一编看看吗?
    2020-10-15 17:52 
  • yiyemeiying yiyemeiying 回复 873282620(提问者) 这个截图就是在数据集写的,根据参数a的值,来决定执行的哪条sql脚本。
    2020-10-15 17:53 
  • 873282620 873282620(提问者) 回复 yiyemeiying 我主要不是学习数据集,就是为了写sql语句
    2020-10-15 17:57 
最佳回答
1
luojian0323Lv7资深互助
发布于2020-10-15 17:46
${if(参数名='1','SELECT * FROM CUSTOMER',if(参数名='2','SELECT * FROM EMPLOYEE',''))}


  • 873282620 873282620(提问者) 能在mysql数据库里面使用一编看看吗?
    2020-10-15 17:52 
  • luojian0323 luojian0323 回复 873282620(提问者) 你说的根据某个值, 这个值应该是变量啊 mysql怎么用变量
    2020-10-15 17:53 
  • 873282620 873282620(提问者) 回复 luojian0323 用1=1不能代替吗?
    2020-10-15 17:57 
  • luojian0323 luojian0323 回复 873282620(提问者) 不明白你 要干啥 1=1 是做判断,结果为true 判断什么呢?
    2020-10-15 18:06 
  • 873282620 873282620(提问者) 回复 luojian0323 if((select null from aaa where id= 1) = 1) , SELECT * FROM BO_EU_AAAA,SELECT * FROM BO_EU_AAAA where id =\"\" 大概这个意思,就是为了根据某参数,但是我是用在别的地方,不是数据源
    2020-10-15 18:13 
最佳回答
1
axingLv6专家互助
发布于2020-10-15 18:11

mysql不能直接写条件控制语句,要写在存储过程里面才能生效

  • 4关注人数
  • 638浏览人数
  • 最后回答于:2020-10-15 19:02
    请选择关闭问题的原因
    确定 取消
    返回顶部