我有一个表,列名为"Tag“,它包含”标记“(以文本形式存储,用斜杠分隔),例如QR1 / QR11b / QR12或QR1 / QR2
如何编写一个查询,该查询只在标记列表中显示包含值QR1的记录
我正在使用Access 2013,对SQL的了解非常有限。
我试过使用="QR1",但这不起作用
我也尝试过使用Like "*QR1*",但这不起作用,因为它还找到了与QR11b和QR12相关的记录
发布于 2018-01-23 12:59:11
这是糟糕的数据库设计,您确实应该将列表存储在一个单独的表中。但是,您可以编写查询。
在您的同类中包括分隔符或单词边界:
MyField = "QR1" OR MyField Like "QR1 /*" OR MyField Like "*/ QR1" OR MyField Like "*/ QR1 /*"发布于 2018-01-23 14:06:44
如果您确信每个标记之前和之后始终是空格,则可以使用LIKE关键字--如果第一个和最后一个标记在它之前/之后没有空格,请使用以下命令:
WHERE ((" " & Field & " ") LIKE "* QR1 *"如果您不确定前后是否有空格,则可以使用以下命令:
WHERE ((" " & Replace(FIELD,"/"," / ") & " ") LIKE "* QR1 *"这看起来很复杂,可能会花费更多的时间来处理,但是您必须只编写一次搜索的标记。易出错,易变。
https://stackoverflow.com/questions/48402133
复制相似问题