[求助] if语句在sql中如何转换

  [复制链接]
查看: 6307|回复: 3

12

主题

23

帖子

58

积分

举人

Rank: 2

积分
58
发表于 2021-10-26 11:40:06 | 显示全部楼层 |阅读模式
5支持币
各位大侠老师好,因对sql语句不熟悉,在将excel函数直接在sql中应用时出错,具体如下:

在excel中的if语句:
if(d8="","",if(d8="等面积",if(h6>=h4,"可以","不可以"),if(m6>=m4,"可以","不可以")))

在快表sql表间公式中应用时,提示语法错误:
IF(本报表.[钢筋代换检查_主表].[分布代换方式]='','', IF(本报表.[钢筋代换检查_主表].[分布代换方式]='等面积', IF(本报表.[钢筋代换检查_主表].[代换截面积_分布]>=本报表.[钢筋代换检查_主表].[设计截面积_分布],'可以','不可以'), IF(本报表.[钢筋代换检查_主表].[代换强度_分布]>=本报表.[钢筋代换检查_主表].[设计强度_分布],'可以','不可以')))

不知转换到sql中时正确写法应该是如何的?

最佳答案

511

主题

2118

帖子

4708

积分

学士

Rank: 7Rank: 7Rank: 7

积分
4708
发表于 2021-10-26 11:40:07 | 显示全部楼层
  1. CASE
  2. WHEN 本报表.[钢筋代换检查_主表].[分布代换方式] = '' THEN ''
  3. WHEN 本报表.[钢筋代换检查_主表].[分布代换方式] = '等面积'
  4.    AND (本报表.[钢筋代换检查_主表].[代换截面积_分布]>=本报表.[钢筋代换检查_主表].[设计截面积_分布]
  5.      OR 本报表.[钢筋代换检查_主表].[代换强度_分布]>=本报表.[钢筋代换检查_主表].[设计强度_分布]) THEN '可以'  
  6. ELSE '不可以'
  7. END  
复制代码
电话/微信:18049989370 QQ:857188287

511

主题

2118

帖子

4708

积分

学士

Rank: 7Rank: 7Rank: 7

积分
4708
发表于 2021-10-26 15:16:39 | 显示全部楼层
都是本报表的字段 就用Excel函数公式就可以,不用表间公式了
电话/微信:18049989370 QQ:857188287

12

主题

23

帖子

58

积分

举人

Rank: 2

积分
58
 楼主| 发表于 2021-10-26 16:05:06 | 显示全部楼层
根据老师的答复进行了如下调整,运行ok了!谢谢!
CASE
WHEN 本报表.[钢筋代换检查_主表].[分布代换方式] = '' THEN ''
WHEN (本报表.[钢筋代换检查_主表].[分布代换方式] = '等面'
   AND 本报表.[钢筋代换检查_主表].[代换截面积_分布]>=本报表.[钢筋代换检查_主表].[设计截面积_分布]
or
本报表.[钢筋代换检查_主表].[分布代换方式] = '等强'   
   AND 本报表.[钢筋代换检查_主表].[代换强度_分布]>=本报表.[钢筋代换检查_主表].[设计强度_分布] )
THEN '可以'
ELSE '不可以'
END  
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

热门产品

关于我们

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十年的行业经验.我们的理念是:"快表软件-提高的不只是效率!"

联系我们

  • 地址: 上海市张江浦东软件园13-205室
  • 电话: +86 (0) 21-5161-9370
  • Email: kuaibiao@kuaibiao.cn
客户端

手机微信

© 2001-2020 快表软件    工信部备案号:沪ICP备13033196号    技术支持:快表软件