所以我有一个参数。让我们说:
@Tags = 'Red,Large,New'
我的表中有一个名为 [Tags] 的字段
假设一个特定的行该字段包含“Red,Large,New,SomethingElse,AndSomethingElse”
我怎样才能将其分开以基本上实现以下逻辑,我将输入以进行理解,但我知道这是错误的:
SELECT * FROM MyTable WHERE
Tags LIKE 'FirstWordInString'
AND Tags Like 'SecondWordInString'
AND Tags Like 'ThirdWordInString'
但它知道在哪里停下来吗?知道只有一个字吗?还是两个?还是三个?
工作流程:
有人单击一个标签,数据集就会按该标签过滤。他们单击另一个,标签被附加到搜索框,然后数据集被这两个标签过滤,等等。
谢谢!
更新:
这是基于产品的情况。
- 创建产品时,创建者可以输入以逗号分隔的搜索标签。
- 插入产品时,搜索标签会插入到名为 ProductTags (ProductID, TagID) 的单独表中
因此,在 Product 表中,我有一个字段,它们由字符串分隔,以便在应用程序端显示,并且这些相同的标签也可以在 ProductTag 表中找到,基于 ProductID 由行分隔。
我不明白的是,如果搜索中的所有标签都存在于该产品,如何将条件放在提供结果的选择中。
我认为只使用逗号分隔的字段会更容易,但也许我应该使用相应的表(ProductTags)