我试图添加一个字段调用maxdate(表中dos列的最新dos日期),我在代码中有这个字段调用,这样它就可以显示在输出中,但它不起作用。我的sql查询如下。
编码
Select distinct t.RECORD_ID, t.SEQ_NO, t.CLAIM, t.HIC_NO as HICN_MBI ,t.ID, DOS, t.ERROR_1
from Sandbox.dbo.XYZ t
inner join (
select CLAIM, max(DOS) as MaxDate
from Sandbox.dbo.XYZ
Group by CLAIM
) tm on t.CLAIM = tm.CLAIM and t.DOS = tm.MaxDate
where RECORD_ID='inf' OR RECORD_ID='REJ'
and ERROR_1 in ('004',
'001',
'002',
'003')
输出返回列将显示这些列,但maxdate不会出现在输出中
RECORD_ID SEQ_NO CLAIM HICN_MBI ID DOS ERROR_1
我做错什么了?
1条答案
按热度按时间vshtjzan1#
您正在使用的代码的原因是没有选择
maxdate
是因为在select语句中您没有选择maxdate
它在表别名中tm
. 我补充说tm.maxDate
在选择和这应该工作。