我正在尝试从数据集中选择不同的名称,但同时返回其他列。我已经让它在某种程度上工作了,但就是无法想出如何将它结合起来。
我怀疑我需要一个 WITH x(或其他什么)但不确定
这里是代码和它返回的数据图像。从这里开始,我只想显示在图片中用红色圆圈标出的WHERE RN=1
Select
row_number() over (partition by tagname order by adddate) as RN,
tagname,
RIGHT(v_AlarmsWithTagname.TagName,charindex('.',REVERSE(v_AlarmsWithTagname.TagName))-1) as SCADA_tag,
convert(varchar(12) , adddate , 101) as AddDate,
left(tagname,CHARINDEX('.',tagname)-1) as 'Table',
[CC_NOTE_LOG].dbo.SCADA_DB.groupid as 'Group',
[CC_NOTE_LOG].dbo.SCADA_DB.dataset as 'Dataset',
[CC_NOTE_LOG].dbo.SCADA_DB.Description as 'Description'
FROM "Buckeye KB".dbo.v_AlarmsWithTagname
join
[CC_NOTE_LOG].dbo.SCADA_DB
on
RIGHT(v_AlarmsWithTagname.TagName,charindex('.',REVERSE(v_AlarmsWithTagname.TagName))-1)=[CC_NOTE_LOG].dbo.SCADA_DB.SCADA_SR_TAG
where
[CC_NOTE_LOG].dbo.SCADA_DB.groupid<>'test' and
[CC_NOTE_LOG].dbo.SCADA_DB.groupid not like 'Keep%' and
[CC_NOTE_LOG].dbo.SCADA_DB.groupid not like 'delete%' and
Tagname not like '%.ES_%' and
Tagname not like '%.OPC_%'