sudevsu Ответов: 1

Параметризовано в caluse в SQL-запросе


Здравствуйте Эксперты,

У меня есть ученик за столом.
select * from Table1 


ID	Name	Course	GPA
1	John	Maths	3
1	John	Science	3
1	John	French	3
2	bob	French	2
2	bob	Maths	3
3	Mike	Science	3
3	Mike	Law	4
4	Chelsa	Law	3
4	Chelsa	Maths	2
4	Chelsa	Science	1
5	Cloe	English	2
5	Cloe	French	3
5	Cloe	Chineese	3


Теперь я хочу написать запрос, который получит всю информацию о студентах на основе курса, который они прошли.
Например

select * from Table1 where Course in ('Science','Maths')


Это встроенный запрос ... Теперь я хочу использовать параметризованный запрос для того же самого.
В качестве примера я взял только два курса. Но что, если у меня их несколько?

Что я уже пробовал:

Вот что я попробовал...
Я собрал все проверенные предметы в одну строку. vb.net
Dim strCoursecode As New List(Of String)


For Each dr As DataRow In dtCoursecodes.Rows
      strCoursecode.Add(dr("Course"))
If strCoursecode.Count > 0 Then strCoursecode.Add(String.Empty)

String.Join(vbTab, strCoursecode.ToArray)


Моя хранимая процедура будет передавать такие параметры, как "математика науки"

@TEST - это мой параметр
SELECT * FROM  TABLE1 WHERE COURSE IN ( @TEST )


Теперь кто-нибудь может помочь мне с запросом о том, как передать параметризованный запрос для предложения IN

1 Ответов

Рейтинг:
0

sudevsu

Не думаю, что вы видели мои бирки. Это для Db2. Если я знаю, что для Db2 я могу писать для MySQL. Все ссылки, которые у вас есть в решении, уже упомянуты перед публикацией вопроса. Они не помогают для Db2. передача с разделителем запятых-это тоже моя мысль, но запрос должен иметь что-то вроде этого в предложении IN('A','B','C'). ('A, B, C') не работает на IN. Он работает на функции Find_in_set MYSQl