現在アセンブルしようとしている SQL Server 2005 クエリがありますが、いくつか問題があります。
Project、Area、Name、User、Engineer の 5 つの列に基づく group by 句があります。
エンジニアは別のテーブルから来ており、1 対多の関係です
WITH TempCTE
AS (
SELECT htce.HardwareProjectID AS ProjectId
,area.AreaId AS Area
,hs.NAME AS 'Status'
,COUNT(*) AS Amount
,MAX(htce.DateEdited) AS DateModified
,UserEditing AS LastModifiedName
,Engineer
,ROW_NUMBER() OVER (
PARTITION BY htce.HardwareProjectID
,area.AreaId
,hs.NAME
,htce.UserEditing ORDER BY htce.HardwareProjectID
,Engineer DESC
) AS row
FROM HardwareTestCase_Execution AS htce
INNER JOIN HardwareTestCase AS htc ON htce.HardwareTestCaseID = htc.HardwareTestCaseID
INNER JOIN HardwareTestGroup AS htg ON htc.HardwareTestGroupID = htg.HardwareTestGroupId
INNER JOIN Block AS b ON b.BlockId = htg.BlockId
INNER JOIN Area ON b.AreaId = Area.AreaId
INNER JOIN HardwareStatus AS hs ON htce.HardwareStatusID = hs.HardwareStatusId
INNER JOIN j_Project_Testcase AS jptc ON htce.HardwareProjectID = jptc.HardwareProjectId AND htce.HardwareTestCaseID = jptc.TestcaseId
WHERE (htce.DateEdited > @LastDateModified)
GROUP BY htce.HardwareProjectID
,area.AreaId
,hs.NAME
,htce.UserEditing
,jptc.Engineer
)
私が欲しいものの要点は、空のエンジニア列を処理できるようにすることです。この列の 2 番目のエントリ (行 = 2) を空白にしたくありません。
私がしたいこと:
- 「行」の値が 1 と 2 のアイテムをグループ化します。
- 空でないエンジニアを選択します。
- 一致する行 = 2 がないエンジニアの選択を解除しないでください。
私は一連の結合を試みて、物事を機能させようとしました。これまでのところ運がありません。