【发布时间】:2018-08-14 15:49:15
【问题描述】:
SELECT *
FROM [dbo].[CountData] CD
INNER JOIN [dbo].[Count] C ON CD.CountId = C.CountId
LEFT JOIN [dbo].[Leg] L ON C.IntersectionId = L.IntersectionId AND CD.ApproachId = L.ApproachId
WHERE L.IntersectionId IS NULL
我怎样才能重写这个查询使得不涉及 LEFT JOIN。最终目标是获得一个可以作为索引视图接受的查询:https://www.brentozar.com/archive/2013/11/what-you-can-and-cant-do-with-indexed-views/(不允许左连接)
注意:不允许子查询
【问题讨论】:
-
为什么要索引视图?
-
因为我想编写一个复杂的约束spaghettidba.com/2011/08/03/…,它使用不存在的值来强制违反唯一性
-
某事告诉我你解决这个问题的方法不对。
-
仅供参考,您可以制作一个可用作约束的函数。您使用的是什么版本的 SQL Server?
-
@CuriousDeveloper 我没有看到约束中编写良好的函数存在问题。也许您可以详细说明为什么某个函数在您的问题中不起作用。
标签: sql sql-server tsql