這是SQL Server上運行不同的系統名稱2000搜索結果限制在多個記錄返回
背景:當一個新的服務器帶來了在網絡上,它會經過一系列狀態(階段),如(加載,測試,配置,生產等)是生產是最後一步(並非報告中的每個服務器都將在生產中,因此這一點信息可能是一個爭論點)。
我繼承了這個,所以如果有任何問題,我會盡我所能回答他們。我試圖運行查詢以獲取特定時間段內所有服務器的最新狀態。我的查詢目前正在返回服務器的每個狀態,我只需要當前狀態,這就是我需要您的幫助的地方。
我正在使用的查詢如下:
SELECT SD.ProjectName, SD.SystemName, SD.Status, H.history_id
FROM dbo.SI_SystemDetail AS SD
INNER JOIN dbo.SI_Projects AS P ON SD.ProjectName = P.ProjectName
INNER JOIN dbo.SI_StatusHistory AS H ON SD.SystemName = H.SystemName
WHERE
(P.Cancelled = 'N')
AND (P.Platform LIKE '%ibm%')
AND ('20110101' <= CONVERT(varchar(8), H.EffectiveDate, 112))
AND (CONVERT(varchar(8), H.EffectiveDate, 112) <= '20111111')
ORDER BY
H.history_id DESC, SD.SystemName, SD.ContactSBCuid, SD.ActualLiveDAte DESC,
SD.ProjectName, SD.SystemType, H.EffectiveDate`
這將返回幾個重複的系統名稱,但我只需要一個,並應與最高history_id數量相對應。例如,讓我們說有一個名爲server:
Server Name Status History_ID
Server01 Loading 1001
Server01 Configuring 1081
Server01 Testing 1101
Server01 Production 1451
Server02 Loading 1002
Server02 Configuring 1083
Server02 Testing 1104
Server02 Failed 1455
我需要的只是以下結果返回:
Server Name Status History_ID
Server01 Production 1451
Server02 Failed 1455
預先感謝幫助。
@用於清理渣-S感謝。我嘗試過,但情況變得更糟。 :) – HPWD