SQL Server 2012データベースでは、最後の学年の小学生に現在の「缶詰め」メッセージが使用された回数をカウントし、現在の学年。問題がGS.Comments
列がvarchar(1200)
のように定義されている複数の値を1つのvarchar(1200)に分割する
USE TEST
SELECT
GS.Comments, COUNT(*) AS [Counts]
FROM
dbo.Enrol Enrol
JOIN
dbo.Student Student ON Student.StudentID = Enrol.StudentID
JOIN
dbo.GS GS ON GS.StudentID = Student.Studentid
AND (GS.Comments IS NOT NULL)
AND (GS.Comments <> '')
WHERE
Enrol.grade IN ('KG', '01', '02', '03', '04', '05', '06')
AND Enrol.endYear BETWEEN 2016 AND 2017
GROUP BY
GS.Comments
ORDER BY
Counts DESC, GS.Comments ASC
:
今、私は、作品の種類、次のT-SQLを持っています。列にメッセージが1つあります。この列には多数のメッセージがあります。各メッセージはピリオドで終わり、各メッセージの間にスペースがあります。
1つのGS.Comments
列内の複数のメッセージの例は次のようになります。
The student is trying hard and needs to make their time more efficiently. This student is good at math. This student turns in their assignments on time. This student seems to enjoy school.
1つのメッセージは、カラムは次のようになります。1 GS.Comments
である場合の例:
This student seems to enjoy school.
したがって、GS.Comments
列に複数のメッセージや1つのメッセージが含まれているため、各固有のメッセージが使用された回数を数えることができるときに使用できるT-SQLロジックが表示されます。
あなたは私のsplit関数を使用して、より具体的な例を与えることができますか? – user1816979