TSQL - 如何使用另一列搜索包含字符串的列?

TSQL - How do you search a column containing a string using another column?

我正在尝试根据最近的成绩列来隔离学校 ID。这显示了学生被划入哪些学校。我不确定如何根据列结果搜索字符串。隔离小学生的最佳方法是什么?

谢谢。

数据:

想要的结果:

SQL Fiddle 代码:(我无法正确构建架构。)

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

首先,你的数据结构很差。您不应该将列表存储在单个列中。每所学校的每个年级都应该有一个单独的 table 一行。或者,为学校的成绩设置最大和最小列 - 假设学校有连续的成绩。

但是,您可以使用 like:

做您想做的事
select t.*
from #t1 t
where ',' + t.schoolgrades + ',' like '%,' + mostrecentgrade + ',%';