Могу ли я передать имя столбца в качестве параметра в хранимой процедуре SQL со стороны кодирования ?
Я хочу передавать имена столбцов со стороны кодирования, а не со стороны базы данных.
потому что у меня есть таблица под названием "studentAttendance", содержащая столбцы типа d1,d2,d3, d4...d30, и эти столбцы имеют значения типа "P", "A","L","C" для ежедневной посещаемости.
Пожалуйста, предложите правильный способ сделать это.
declare @col nchar(50) set @col= 'd2' select count(*) from bat.studentbatch sb inner join bat.student_attendance sa on sb.sid=sa.sid inner join bat.batchmaster bm on sb.batchid=bm.batchid where bm.facultyid=151-- and bm.batchstatus !='Completed' and @col ='P'
но этот запрос должен привести к "3" в качестве ответа, но он всегда дает "0", что означает, что это не является допустимым именем столбца или иначе..
OriginalGriff
Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли.
Почему вы хотите передать имена в качестве параметров?
О каком запросе идет речь?
А что вы пробовали?
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.
Magic Wonder
Ну а необходимые комментарии уже поставил OriginalGriff. Все, что я могу сказать здесь и что я понял из вашего вопроса, это ....Используйте динамический SQL-запрос. Надеюсь, это вам поможет.