在編寫查詢語句的時候,經(jīng)常會遇到跨多個表查詢數(shù)據(jù)的情況,我目前在給人用ACCESS寫一個小程序,但是,我總感覺自己寫的查詢語句不夠合理,各位能幫忙看一下嗎,看看怎樣修改一下效率更高,更符合SQL查詢的邏輯。先謝過了。
SELECT IIf(Forms!控制面板!cboStage<>1,IIf(Forms!控制面板!cboStage=2,h.第一期期末現(xiàn)金,k.第二期期末現(xiàn)金),d.QMXJ) AS 期初現(xiàn)金,a.SaleIncome, a.OtherIncome, a.OtherCost, ((b.PreDeposit+a.BQCK)*b.DepositRate) AS 存款利息, a.AddLoan, a.Withdrawals,a.BQCLCGF, c.SJ, c.JS, c.GC, c.WL, c.SC, c.ZJL, b.AddLoanRate, b.CXFXS AS 促銷費系數(shù), b.YSFXS AS 產(chǎn)品運輸費系數(shù), b.GCFXS,(b.CNYSFXS*(IIf(Forms!控制面板!cboStage<>1,IIf(Forms!控制面板!cboStage=2,n.第一期期末材料余額,p.第二期期末材料余額),d.QMCLYE)+a.BQCLCGF-a.QMCLYE)) AS 廠內(nèi)運輸費,(b.CKBGF*a.QMCLYE) AS 倉庫保管費, d.SaleIncome AS 期初銷售收入, e.第一期銷售收入, f.第二期銷售收入, a.DeliveryAmount,IIF(Forms!控制面板!cboStage<>1,20,5) AS 研究開發(fā)費, a.InfoCost, a.AllFines,((b.PreLoan*b.PreLoanRate)+(a.AddLoan*b.AddLoanRate)) AS 借款利息, a.ReturnLoan, a.BQCK,IIf(Forms!控制面板!cboStage<>1,IIf(Forms!控制面板!cboStage=2,r.第一期所得稅,s.第二期所得稅),d.Tax) AS 上期所得稅FROM(SELECT * FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=Forms!控制面板!cboStage)? AS a,(SELECT * FROM tblTrains WHERE TrainID=Forms!控制面板!txtTrainID)? AS b,(SELECT * FROM tblCompanys WHERE CompanyID=Forms!控制面板!cboCompany)? AS c,tblInitialReports AS d,(SELECT SaleIncome AS 第一期銷售收入 FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=1)? AS e,(SELECT SaleIncome AS 第二期銷售收入 FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=2)? AS f,(SELECT QMXJ AS 第一期期末現(xiàn)金 FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=1)? AS h,(SELECT QMXJ AS 第二期期末現(xiàn)金 FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=2)? AS k,(SELECT QMCLYE AS 第一期期末材料余額 FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=1)? AS n,(SELECT QMCLYE AS 第二期期末材料余額 FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=2)? AS p,(SELECT Tax AS 第一期所得稅 FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=1)? AS r,(SELECT Tax AS 第二期所得稅 FROM tblCompanyStages WHERE CompanyID=Forms!控制面板!cboCompany And StageNo=2)? AS s
復雜SQL語句的優(yōu)化
慕田峪4524236
2018-12-07 06:40:47