用于从数据表和模式表生成匹配的 SQL
给定一个包含 id、color、size 列的数据表和一个包含规则/模式(例如rule_id、color_condition 和 size_condition)的第二个表。
因此,基本规则是rule_id=1,Color=blue, size=Any 或rule_id=2,Color=blue, size=15
如何构造一个SQL 查询来生成第三个表中的匹配项
例如对于数据表 id=1、color=blue、size=10 这两个规则都适用,因此匹配表将包含两个条目
rule_id=1, entry_id=1
rule_id=2, entry_id=1
如何循环模式以及如何构造匹配,以便它可以处理通配符或忽略条件(如果它们)是空的。
请提供方向或关键词,我准备阅读。
Given a data table with columns id, color, size and a second table with rules/patterns so rule_id, color_condition and size_condition.
So a basic rule would be rule_id=1,Color=blue, size=Any or rule_id=2,Color=blue, size=15
How can I construct a SQL query that produces matches into a third table
For example for an entry in the data table id=1, color=blue, size=10 both rules would apply and therefor the matches table would cotain two entries
rule_id=1, entry_id=1
rule_id=2, entry_id=1
How To cycle through the patterns and how to construct the matching so that it can deal with wildcards or omit conditions if they are empty.
Please provide directions or keywords, I am ready to read.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设您有规则表:
和条目表
放置空值而不是“任何”值以保持强类型
解决方案:
您可以创建一个新表颜色以获得更好的性能:
为两个 Id_Colors 添加索引
Let's say you have the rule table :
And Entry table
Put a null value instead of a 'Any' value to keep some strong typing
A solution :
You can create a new table Color for better performance :
Add an index to both Id_Colors