在預存程序中依條件(如 `Hits=0`)動態拼接 `` 標籤,直接回傳含 HTML 的欄位,前端直接渲染無需額外邏輯。
ALTER PROC GetDataByNumCategory
@Carcategory NVARCHAR(50)
AS
BEGIN
DECLARE @sql NVARCHAR(1000), @Num NVARCHAR(20);
SELECT TOP 1 @Num = Keyword FROM TaoCarActive;
DECLARE @Green NVARCHAR(100) = '',
@GreenEnd NVARCHAR(100) = '',
@Red NVARCHAR(100) = '',
@RedEnd NVARCHAR(100) = '';
SET @sql = 'SELECT TOP ' + @Num + ' ID, ' +
'CASE WHEN Hits = 0 THEN ' + QUOTENAME(@Green + 'CarCard' + @GreenEnd, '''') +
' ELSE ' + QUOTENAME(@Red + 'CarCard' + @RedEnd, '''') + ' END AS CarCard ' +
'FROM TaoCarActive WHERE Carcategory = ' + QUOTENAME(@Carcategory, '''') + ' ORDER BY ID';
EXEC (@sql);
END;