У меня есть очень Complexe запрос здесь, я стараюсь, чтобы дать вам представление о необходимых таблиц здесь:Очень трудно величайшая п в группе запроса
- RPG
- RPGCharacter
- RPGPost
- Пользователь
У нас есть X Chars на RPG, x Сообщений на Char. 1 Пользователь может иметь X Chars, но 1 Char только зависит от 1 пользователя.
Что я хочу - это запрос, в котором я получил последнее сообщение на RPG в информации о имени пользователя, который написал это, сам персонаж и сама RPG, количество RPGPosts на RPG у нас (всего).
Это насколько я решил его до сих пор:
SELECT c.RPGID, c.Name, DateTime, r.Name, u.Username, t.count
FROM dbo.RPGCharacter c inner join
(
SELECT CharacterID,
MAX(DateTime) MaxDate
FROM RPGPost
GROUP BY CharacterID
) MaxDates ON c.RPGCharacterID = MaxDates.CharacterID
INNER JOIN RPGPost p ON MaxDates.CharacterID = p.CharacterID
AND MaxDates.MaxDate = p.DateTime
Inner join RPG r on c.RPGID = r.RPGID
Inner join [User] u on u.UserID = c.OwnerID
inner join (Select RPG.RPGID, Count(*) as Count from RPGPost
inner join RPGCharacter on RPGPost.CharacterID = RPGCharacter.RPGCharacterID
inner join RPG on RPG.RPGID = RPGCharacter.RPGID
where RPGPost.IsDeleted = 0
Group by RPG.RPGID) t on r.RPGID = t.RPGID
Order by DateTime desc
Результат: http://abload.de/image.php?img=16iudw.jpg
Этот запрос дает мне все, что я хочу, но имеет ошибки:
1) Это дает мне последнее сообщение на символ, но мне нужно последнее сообщение на RPG
Редактировать вопрос, решить ее половине сам, добавьте результирующий набор – Kovu
И на этот раз, вы ответили сам, не желая потенциально летальное заболевание ни на кого. – Jodrell
было бы здорово, если бы вы потратили время на подготовку [sqlfiddle] (http://www.sqlfiddle.com/) вместо публикации скриншота SSMS – GolfWolf