私はSQLが得意ではなく、デザイナーはOVERの使用では機能しないため、これに苦労しています。基本的に、ユーザーが関連付けられたタグをフォローしている場合、これはトピックのリストを取得しています。
T.TopicId
重複を防ぐためにグループ化する必要があります。ユーザーがトピックに関連付けられた複数のタグを選択している場合、トピックは 2 回 (タグごとに 1 回) リストされます。
SQLでグループを追加すると、複数のエラーが発生し、並べ替えを試みましたが、機能しません.SQLステートメントでは役に立たないと言われました
@id int = null
AS
SELECT
*
FROM
(SELECT
ROW_NUMBER()
OVER
(ORDER BY TopicOrder desc
,
(CASE
WHEN M.MessageCreationDate > T.TopicCreationDate THEN M.MessageCreationDate
ELSE T.TopicCreationDate
END) desc)
AS RowNumber
,T.TopicId, T.TopicTitle, T.TopicShortName, T.TopicDescription, T.TopicCreationDate, T.TopicViews, T.TopicReplies, T.UserId, T.TopicTags, T.TopicIsClose,
T.TopicOrder, T.LastMessageId, T.UserName, M.MessageCreationDate, M.UserId AS MessageUserId, MU.UserName AS MessageUserName, U.UserGroupId,
U.UserPhoto, T.UserFullName
FROM Tags INNER JOIN
TopicsComplete AS T ON T.TopicId = Tags.TopicId LEFT OUTER JOIN
Messages AS M ON M.TopicId = T.TopicId AND M.MessageId = T.LastMessageId AND M.Active = 1 LEFT OUTER JOIN
Users AS MU ON MU.UserId = M.UserId LEFT OUTER JOIN
Users AS U ON U.UserId = T.UserId LEFT OUTER JOIN
tagfollows AS TF ON @id = TF.userid
WHERE (Tags.Tag = TF.tag)
)T
誰かがそれを助けることができれば、とても感謝しています、ありがとう! :)