首页 > 解决方案 > 将访问语法转换为 SQL 语法

问题描述

我正在尝试使用 Case-When-Then 等将以下内容从 Access 数据库语法转换为 sql 查询语法。有人可以帮我吗?

SpreadType: IIf([mv_Loan_Ext1]![LoanPurposeTypeCode] In ("008","080"),"QRLF-" & IIf([FAReceivesPatronage]=0,"NPAT","PAT"),IIf([SecDistrictIndustryCode]= "999","Non-QRLF",IIf([PriDistrictIndustryCode]="999","RHL",IIf([mv_Loan_Ext1]![LoanPurposeTypeCode]+0 介于 1 和 7 之间,"Other home",IIf([FANoteIsParticipationPurchased] =1,IIf([mv_FANote]![BranchNbr]="092","100% GP","PP"),IIf([PatronagePoolCode]="14","FCE",IIf([YBSAgStart]<>" No" 或 IIf(Trim([AgGrow_NoOperator]) 为 Null,0,IIf(Trim([AgGrow_NoOperator])="" 或 Trim([AgGrow_NoOperator])="No",0,1))+IIf(Trim([ AgNiche]) 为 Null,0,IIf(Trim([AgNiche])="" 或 Trim([AgNiche])="No",0,1))+IIf(Trim([AgGrowOperator]) 为 Null,0,IIf(Trim([AgGrowOperator])="" 或 Trim([AgGrowOperator])="No",0,1))>0,"YBS AgStart",IIf([GrainInventoryLoan]="Yes","Grain Inventory",IIf([COVID19] Like "SBA*","PPP",IIf(IIf([FarmTypeAbbr]="",IIf([FCALoanTypeAbbr]= "PRIT","FL",IIf([FCALoanTypeAbbr]="REMG","FL","")),[FarmTypeAbbr])<>"FL","一般非农民","核心农民贷款") ))))))))))IIf([FCALoanTypeAbbr]="PRIT","FL",IIf([FCALoanTypeAbbr]="REMG","FL","")),[FarmTypeAbbr])<>"FL","一般非农民", “核心农民贷款”))))))))))IIf([FCALoanTypeAbbr]="PRIT","FL",IIf([FCALoanTypeAbbr]="REMG","FL","")),[FarmTypeAbbr])<>"FL","一般非农民", “核心农民贷款”))))))))))

标签: sql

解决方案


您必须像这样重写您的查询。你只是有太多的嵌入()。这有点乱。

select 
case when [mv_Loan_Ext1].[LoanPurposeTypeCode] in ('008', '080') then 'QRLF-' + case FAReceivesPatronage when 0 then 'NPAT' else 'PAT' end
     when [SecDistrictIndustryCode] = '999' THEN 'Non-QRLF'
     when ...
end

推荐阅读