基于聚合评估结果的棘手连接
在 SQL Server 2008 中,我有 3 个表:定义、参数和项目。第一个表包含参数可能的最小值和最大值。对于某个项目,Params 包含 0 个或多个针对给定定义的参数。我希望通过执行适当的条件连接/评估来获取有效的项目 ID。
举例来说:
将返回 ItemID = 1,因为 Params 中的任何内容均不违反 Definitions.Min|Max。
ItemsID = 2 不会被返回,因为 Hi = 103 违反了 Definitions.Max,其中 DefID = 2。鉴于此,最后一个条目违反 Definitions.Low 的事实是无关紧要的,但显示是为了清楚地说明。
ItemID = 3 将匹配,因为它的参数在范围内。无需加入所有定义。
In SQL Server 2008, I have 3 tables: Definitions, Params, and Items. The fist table contains the min and max value that a Param may be. Params contains 0 or more parameters against a given definition, for an item. I wish to get the valid Item IDs by doing the appropriate conditional joins/evals.
To illustrate:
ItemID = 1 would be returned because nothing in Params violates Definitions.Min|Max.
ItemsID = 2 would not be returned because Hi = 103 violates Definitions.Max where DefID = 2. Given this, the fact the last entry violates Definitions.Low is inconsequential, but shown for clear illustration.
ItemID = 3 will match because it has a Param that is within range. There is no need to join all Definitions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
怎么样
编辑
编辑看看这个完整的示例
结果
How about
EDIT
Have a look at this full example
REsult