问题标签 [graph-table]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server Graph Tables - 浏览某些节点以找到结束
我有一个包含 2 个节点表和 1 个边缘表的图表结构。
Symptom表是 Node 表,Syndrome_Causes是 Edge 表。此外,还有另一个名为Syndrome的节点表。
我的目标是有一个查询,我可以遍历我的图,通过特定的节点。
我编写了以下查询以向您显示所有可能的路线,从“心血管”节点开始,但我需要过滤掉通过路径的结果,在下图中用红色下划线(心血管->心悸->持续时间->间隔->天)。
我曾考虑在WHERE
子句中添加另一个过滤条件,但我不知道如何编写它,以便我限制节点仅通过“链接”列中的值。
请注意,我知道,我可以将链接列中的值传递给它以过滤行并让我获得列中的“天”值last_match
,但我的目的是通过遵循特定路径通过节点来过滤它(验证) ,如下所示:
但是,这给出了一个错误:
别名或标识符“s2.symptom_name”不能用于选择列表、排序依据、分组依据或具有上下文。
那么,有没有办法限制路径搜索通过某些节点?
sql-server - 在 Visual Studio 数据库项目中使用图形查询时的警告
我们有一些 SQL“普通”表和图表,一个在它们之间同步信息的脚本。
SSMS 一切正常,但是在 Visual Studio 中使用 msbuild 构建数据库项目时,我们会收到警告(请参阅下面的代码和警告详细信息)。
如果我们设置TreatTSqlWarningsAsErrors
为 True,这些警告就会变成错误。
我们不想忽略警告,但不清楚我们为什么会收到警告。这些警告是否正确?
为什么它们只显示在 Visual Studio 中而不显示在 SSMS 中?
我们如何在不忽略它们的情况下解决它们?
细节:
我们有以下两个“正常”的 SQL 表:
和
我们创建了以下 SQL 图形模式以及两个 SQL 节点表和一个 SQL 边:
一个同步存储过程,它将从每天执行的“正常”表中填充节点和边缘。
附上部分:
以及以下脚本更新边缘的 IsActive 列,以防“正常”表中不再存在关系(我们不想从图形节点/边缘中删除它)
我们在 VS 2019 中创建了一个数据库项目,设置如下:
从 SSMS 开始,一切都很完美。
问题在于最后一个语法(UPDATE isof.active)我收到以下警告:
警告 SQL71502:过程:[graph].[SyncEngagementContentGraphs] 对对象 [graph].[isOf].[N] 的引用未解析。图\存储过程\SyncEngagementContentGraphs.sql 57
警告 SQL71502:过程:[graph].[SyncEngagementContentGraphs] 对对象 [graph].[isOf].[N] 的引用未解析。图\存储过程\SyncEngagementContentGraphs.sql 58
警告 SQL71509:模型已经有一个同名的元素 NodeCTE.$node_id。图\存储过程\SyncEngagementContentGraphs.sql 47
警告 SQL71509:模型已经有一个同名的元素 NodeCTE.$node_id。图\存储过程\SyncEngagementContentGraphs.sql 48
如果我们将 TreatTSqlWarningsAsErrors 设置为 True,这些警告就会变成错误,从长远来看,我们不能这样(设置为 False)。