sql – 加入多个常用表表达式
发布时间:2020-12-12 16:46:59 所属栏目:MsSql教程 来源:网络整理
导读:我有两个Query,Query1: with cte as (select dbo.Cable.*,row_number() over(partition by dbo.Cable.TagNo order by dbo.Cable.CableRevision desc) as rn from dbo.Cable where (dbo.Cable.CableRevision = @CoreRevision ) )select *from ctewhere rn = 1
我有两个Query,Query1:
with cte as ( select dbo.Cable.*,row_number() over(partition by dbo.Cable.TagNo order by dbo.Cable.CableRevision desc) as rn from dbo.Cable where (dbo.Cable.CableRevision = @CoreRevision ) ) select * from cte where rn = 1 还有Query2 with cte as ( select dbo.Cable.TagNo,dbo.Core.*,row_number() over(partition by dbo.Core.CoreNo order by dbo.Core.CoreRevision desc) as rn from dbo.Core INNER JOIN dbo.Cable ON dbo.Cable.Id = dbo.Core.CableId where (dbo.Core.CoreRevision <= @CoreRevision ) ) select * from cte where rn = 1 这两个查询与Query1.TagNo和Query2.TagNo相关 谢谢 解决方法尝试这个查询,也许这是你正在寻找.;WITH cte AS (SELECT dbo.Cable.*,row_number() over(partition by dbo.Cable.TagNo order by dbo.Cable.CableRevision desc) as rn FROM dbo.Cable WHERE dbo.Cable.CableRevision = @CoreRevision ),cte2 AS (SELECT dbo.Cable.TagNo,row_number() over(partition by dbo.Core.CoreNo order by dbo.Core.CoreRevision desc) as rn FROM dbo.Core INNER JOIN dbo.Cable ON dbo.Cable.Id = dbo.Core.CableId WHERE dbo.Core.CoreRevision <= @CoreRevision ) SELECT * FROM cte c FULL JOIN cte2 c2 ON c.TagNo = c2.TagNo WHERE c.rn = 1 OR c2.rn = 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |