Как я могу использовать цикл while в операторе case в SQL
Мы используем оператор CASE в SQL для условия bool, чтобы получить TRUE или FALSE. Но в этой ситуации мне нужно не-bool означает n-е условие и результат. На самом деле жирная часть в следующем коде. Пожалуйста помочь. Это срочно...
Что я уже пробовал:
ALTER proc [dbo].[sp_StudentList](@CreatedBy nvarchar(max)) as begin declare @LikedBy nvarchar(max)=(Select LikedBy from LikeStatus) declare @TeacherRequestID int=(Select TeacherRequestID from LikeStatus where LikedBy=@CreatedBy) declare @UserName nvarchar(max)= @CreatedBy DECLARE @i INT = 1 DECLARE @NumberOfRows INT = (SELECT COUNT(*) FROM TeacherRequest) select SP.StuThana, SP.StuDist, TR.StudentName,TR.StudentCode, TR.Class, TR.Subject, TR.StuGroup,TR.StuRelation, TR.Institute,TR.Status, TR.LikeStatus, CASE WHEN WHILE(@i <= @NumberOfRows) BEGIN @TeacherRequestID = TR.ID THEN 'Liked' Else 'Like' set @i = @i + 1 END END as LikeFlag from StudentsProfile SP join TeacherRequest TR on SP.CreatedBy=TR.CreatedBy --sp_StudentList 'teacher1@gmail.com' end
Richard Deeming
Это НЕ "срочный". И даже непонятно, что ты пытаешься сделать.
Вместо того чтобы спрашивать нас, как заставить работать воображаемый синтаксис, попробуйте описать реальную проблему, которую вы пытаетесь решить.