多少高度なクエリを作成する際に問題が発生しました。 Bがの子であるとB -セカンダリビューから最新のアイテムを取得する
私は2つの景色を眺めることができます。
この関係は
vw_StartDate.MapToID
=
B vw_TrackerFeaturesBasic.StartDateMapToIDによって処理されます。私がする必要がどのような
は、すべての親とLATEST追加子供Bのカウントをつかむです。
これはSSRS-レポートに最新の子どもたちBを取得するクエリです:(これがすべてでを使用していません!):
/****** 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 /ケース+ SUMにあるサブクエリを使用しています)。
集計関数で集計関数を使用することは実際には許可されていないため、サブクエリで最新の追加項目を取得する方法がわかりません。サブクエリは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についての良い質問をどのように策定するかについてはあまりよく分かりません。あなたの答えをコピーして貼り付けてみましたが、期待した結果が得られませんでした.. 私が必要とするのは、すべての親と、最新の(MAX(DateStamp))挿入された子の該当する(ApplicableToProject)行と不完全な(ReadyForWork)行の数を取得するクエリです。 すべての子は上記のフィールドを持っており、上記のフィールドがApplicable = 1、ready = 0の最新の子をカウントする必要があります。 – geostocker
@geostocker。 。 。あなたは、適切なサンプルデータと希望の結果で別の質問をする必要があります。 –