У меня возникла проблема с созданием несколько расширенного запроса.Получение количества последних элементов из вторичного представления
У меня есть две точки зрения - и B где B является дочерним .
Это соотношение обрабатывается
A vw_StartDate.MapToID
=
Б vw_TrackerFeaturesBasic.StartDateMapToID.
Что мне нужно сделать, это взять каждый родитель и подсчетом Последние добавленные детей B.
Это запрос, который получает последнюю версию детей B в SSRS-отчет: (Это не использует на всех!):
/****** Selecting the incomplete, applicable issues of the latest insert. ******/
SELECT DISTINCT [TRK_Feature_LKID]
,[TrackerGroupDescription]
,[ApplicableToProject]
,[ReadyForWork]
,[DateStamp]
FROM [vw_TRK_TrackerFeaturesBasic] as temp
WHERE ApplicableToProject = 1
AND DateStamp = (SELECT MAX(DateStamp) from [vw_TRK_TrackerFeaturesBasic] WHERE [TRK_StartDateID] = @WSCTrackerID AND StartDateMapToID = @HierarchyID AND [TRK_Feature_LKID] = temp.TRK_Feature_LKID)
ORDER BY DateStamp DESC
Я попробовал несколько различных способов , но я не могу понять, как получить последние добавленные дети из подзапроса (в основном я использовал подзапрос, расположенный в COUNT/Case + SUM).
Поскольку SQL Server на самом деле не позволяет нам использовать агрегированные функции в совокупных функциях, я не уверен, как получить последний добавленный элемент в подзапросе, поскольку вложенный запрос, скорее всего, должен быть вложен в COUNT или что-то подобное ,
Ниже версия я работаю (не работает):
Колонка «vw_TRK_TrackerFeaturesBasic.StartDateMapToID» недопустим в списке выбора, поскольку он не содержится ни в статистической функции или Предложение GROUP BY.
SELECT b.TRK_StartDateID
,(SELECT COUNT(b.TRK_Feature_LKID) FROM b)
FROM vw_TRK_StartDate as a
LEFT JOIN vw_TRK_TrackerFeaturesBasic as b
ON b.StartDateMapToID = a.MapToID AND b.DateStamp = (SELECT MAX(DateStamp) FROM [vw_TRK_TrackerFeaturesBasic] WHERE [TRK_StartDateID] = 47 AND [StartDateMapToID] = 13)
WHERE MapToId = 13
--(SELECT MAX(DateStamp) from [vw_TRK_TrackerFeaturesBasic] WHERE [TRK_StartDateID] = @WSCTrackerID AND StartDateMapToID = @HierarchyID AND [TRK_Feature_LKID] = temp.TRK_Feature_LKID
GROUP BY b.TRK_StartDateID
Извините. Я просто не уверен, как сформулировать хороший вопрос о SQL. Я попытался скопировать ответ, но не получил ожидаемых результатов. В принципе, мне нужен запрос, который захватывает каждого родителя и количество подходящих (ApplicableToProject) и неполных (ReadyForWork) строк последнего (MAX (DateStamp)) вставленного дочернего элемента. Каждый ребенок имеет вышеупомянутые поля, и каждый из них должен получить счет последнего вставленного ребенка, где указаны вышеприведенные поля = 1, ready = 0. – geostocker
@geostocker. , , Вы должны задать другой вопрос с соответствующими данными выборки и желаемыми результатами. –