从表中选择数值,其中数值以逗号分隔的字符串。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从表中选择数值,其中数值以逗号分隔的字符串。相关的知识,希望对你有一定的参考价值。

这是我的第一个帖子......我正忙着用Access 2010写一个软件。我的SQL还算不错,但我在这里有点支支吾吾。

我有一个表,布局如下

ID = AutoNumber, 
Category = Text, 
SubCategory = Text, 
Grades = Text.

而以下数据

ID  Category    SubCategory   Grades
2   Behaviour   Good          RRR,RR,R,1,2,3,4,5,6,7,8,9,10,11,12
3   Behaviour   Not so Good   RRR,RR,R,1,2,3,4,5,6,7,8,9,10,11,12
4   Health      Doctor Note   RRR,RR,R,1,2,3,4,5,6,7,8,9,10,11,12
5   Social      Peer Pressure   
6   Academics   General Academic Knowledge      1,2,3
7   Academics   Additional Academic Knowledge   1,2,3
8   Gross Motor Skills  Kicks a ball that is moving towards him or her. 
9   Gross Motor Skills  Hops and jumps while in motion  R
10  Gross Motor Skills  Skips   RR
11  Gross Motor Skills  Gallops RR
12  Gross Motor Skills  Jumps forward 10 times  RR
13  Gross Motor Skills  Catches a small bounced ball    RR
14  Gross Motor Skills  Turns somersault    RR
15  Gross Motor Skills  Alternates feet walking up or down stairs   RR`

我试图创建一个查询,在这个查询中,我选择例如

SELECT SubCategory from CATEGORY WHERE GRADES LIKE R

而它应该返回

Good
Not so Good
Doctors Note
Peer Pressure
Hops jumps and Skips

很明显,如果我需要RRR或1或2或5级,它应该根据需要选择。

请谁能帮助我,谢谢Warren

答案

你可以用操作符来实现 LIKE 这种方式。

SELECT SubCategory 
FROM CATEGORY 
WHERE ',' + GRADES + ',' LIKE '*,R,*'

或者如果你想要查询的值 'R' 分别作为参数。

SELECT SubCategory 
FROM CATEGORY 
WHERE ',' + GRADES + ',' LIKE '*,' + 'R' + ',*'

以上是关于从表中选择数值,其中数值以逗号分隔的字符串。的主要内容,如果未能解决你的问题,请参考以下文章

从表中选择 WHERE 子句中具有不同 IN 列表的表

如何匹配在linq中具有多个用逗号分隔的整数值的列?

判断一个数值是否在一个逗号分隔的字符串中

REACT - 如何在 Mui-Datatables 中将逗号分隔符添加到整数值

当某些数字包含逗号作为千位分隔符时如何读取数据?

从表中读取 BigQuery 数值数据类型