我正试图根据最近的年级栏来隔离学校的ID。这显示了学生被划分为哪所学校。我不知道如何根据列结果搜索字符串。隔离学校的最好方法是什么?
谢谢。
数据:

期望的结果:

SQL代码:(我很难在没有错误的情况下构建模式)。
CREATE TABLE #T1 (
StudentID varchar(10),
AddressID varchar(10),
SchoolID varchar(10),
SchoolGrades varchar(100),
MostRecentGrade varchar(10),
)
INSERT INTO #T1
VALUES
('7777777','297','118','PK,KK,01,02,03,04,05,MG','10'),
('7777777','297','338','06,07,08,MG','10'),
('7777777','297','528','09,10,11,12,MG','10')
SELECT *
FROM #T1发布于 2016-07-20 14:27:13
首先,数据结构非常糟糕。您不应该将列表存储在一个列中。你应该有一个单独的桌子,每一年级在每所学校都有一排。或者,为一所学校的年级设置最大值和最小栏--假设学校有连续的年级。
但是,你可以用like做你想做的事
select t.*
from #t1 t
where ',' + t.schoolgrades + ',' like '%,' + mostrecentgrade + ',%';https://stackoverflow.com/questions/38483938
复制相似问题