i.Notes, SUM(l.Discount) AS Dcount, i.DiscDate, i.DueDate, i.UIMth, i.UISeq, poj.Job, poj.Description, i.UniqueAttchID, i.ReviewerGroup AS RevGrp, SUM(l.GrossAmt)
AS GrossAmt, v.PayTerms, dbo.HQPT.DiscRate, i.InvTotal, DATEDIFF(day,getdate(),i.DiscDate) AS DiscDays,
--Trying to use the DiscDays and Dcount here
if DiscDays, between '20' and '11' THEN sum(Dcount) as YelDisc
我希望有人能幫助我。我對T-SQL非常陌生。我相信我所需要的這裏是一個子查詢,但我不知道如何格式化正確在同一個select語句中選擇別名
謝謝
我增加了一些額外的案例澄清 –
都鐸感謝您的幫助,您的建議工作正如我所需要的。額外的病例陳述是有幫助的。我還有一個問題。如果我希望'11'和'20'是YelDisc,'20'和'40'是GreDisc,那麼該聲明如何顯示?我知道我可以在同一個案例聲明中全部是圓頂,還是必須分別爲GreDisc編寫一個圓頂?再次感謝!! – Steve
你必須把它放在不同的列上,在不同的case case state中,例如:'case when'11'和'20'之間的DATEDIFF(day,getdate(),i.DiscDate)THEN sum(Dcount)else null end as YelDisc,當DATEDIFF(day,getdate(),i.DiscDate)在'20'和'40'THEN sum(Dcount)/ 2 else null作爲GreDisc'的情況下,在where子句中查找不爲空的列。原因是你的模式(即列名和數據類型)不應該根據檢索到的數據而改變。 –