SQL 解析文本主体以从列表中提取字符串的查询
SQL query for parsing a body of text to extract a string from a list
我需要有关 SQL 查询的帮助以执行以下操作:
我有一个 table,其中包含产品可能的字符串值列表。
我有第二个 table,其中可能会提到该产品的自由格式文本。如果 SQL 查询存在于第一个 table 中,有什么方法可以提取该字符串?
我在另一个 SO post 上读到了关于 CHARINDEX 和 SUBSTRING 的内容。在这种情况下这会有效吗?我如何在我的用例中应用它?
我的场景示例如下:
我的 table,PRODUCTS,具有以下格式,
Product
XXX
YYY
ZZZ
DDD
另一个 table 有一个列,其中有大量文本将提及此产品。喜欢:
Record Number User Review
1 I like XXX for its versatility but YYY is better.
2 XXX is a horrible product. DO not buy.
3 YYY and DDD are best in class. Many do not know how to use it.
现在我想以这种方式使用查询来提取产品名称。
Record Number Product in Review
1 XXX
1 YYY
2 XXX
3 YYY
3 DDD
提前感谢您的宝贵时间和帮助。
这应该可以,但在大表上会很慢:
Select p.id, f.id, p.name from product
Inner Join freeform f on f.text like '%'+p.name+'%'
我需要有关 SQL 查询的帮助以执行以下操作:
我有一个 table,其中包含产品可能的字符串值列表。
我有第二个 table,其中可能会提到该产品的自由格式文本。如果 SQL 查询存在于第一个 table 中,有什么方法可以提取该字符串?
我在另一个 SO post 上读到了关于 CHARINDEX 和 SUBSTRING 的内容。在这种情况下这会有效吗?我如何在我的用例中应用它?
我的场景示例如下:
我的 table,PRODUCTS,具有以下格式,
Product
XXX
YYY
ZZZ
DDD
另一个 table 有一个列,其中有大量文本将提及此产品。喜欢:
Record Number User Review
1 I like XXX for its versatility but YYY is better.
2 XXX is a horrible product. DO not buy.
3 YYY and DDD are best in class. Many do not know how to use it.
现在我想以这种方式使用查询来提取产品名称。
Record Number Product in Review
1 XXX
1 YYY
2 XXX
3 YYY
3 DDD
提前感谢您的宝贵时间和帮助。
这应该可以,但在大表上会很慢:
Select p.id, f.id, p.name from product
Inner Join freeform f on f.text like '%'+p.name+'%'