病情复杂

时间:2010-02-12 04:32:38

标签: programming-languages

我在表格中预定义了项目组合(例如brand1 | brand2 | brand3等)。 我喜欢收集品牌并检查预定义的表格数据。 例如我收集了brand1 | brand2 | brand3然后我可以获得预定义表格的一些价值形式(它符合条件)。 我怎么检查? 品牌将是无限的。品牌1 |品牌2 |品牌1品牌1 |品牌2 |存在然后返回true。

1 个答案:

答案 0 :(得分:0)

好的,对你要问的东西进行疯狂的猜测,你有一个分隔的字段,其中的品牌被分隔为|字符。您希望返回具有正确品牌组合的任何行,但是当您搜索“test”时,不希望返回包含品牌“testify”的行。

您有四种搜索条件(寻找品牌3):

  1. 品牌本身就存在:“brand3”
  2. 品牌开始划界:“brand3 | brand4 | brand6”
  3. 该品牌处于领域中:“brand1 | brand3 | brand6”
  4. 该品牌在该领域的最后:“brand1 | brand2 | brand3”
  5. 所以,在SQL中:

    SELECT *
    FROM MyTable
    WHERE BrandField = 'brand3'
       OR BrandField LIKE 'brand3|%'
       OR BrandField LIKE '%|brand3|%'
       OR BrandField LIKE '%|brand3'
    

    根据需要重复多个品牌。