Выберите значения из таблицы, где значение в строке с разделителями-запятыми - PullRequest
2 голосов
/ 20 апреля 2020

это мой первый пост ... Я занят написанием программного обеспечения в 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, он должен выбрать при необходимости

, пожалуйста, кто-нибудь может помочь. Спасибо, Уоррен

1 Ответ

2 голосов
/ 20 апреля 2020

Вы можете сделать это с оператором LIKE следующим образом:

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

или если вы хотите запросить значение 'R' отдельно в качестве параметра:

SELECT SubCategory 
FROM CATEGORY 
WHERE ',' + GRADES + ',' LIKE '*,' + 'R' + ',*'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...