以下是通過Business Objects包執行的T-SQL。我的問題是,是否有完成下列聚集的查詢較短方式:SQL彙總
(SELECT tblName.Details
FROM tblName
WHERE tblName.ID = (SELECT Max(tblName2.ID)
FROM tblName tblName2
WHERE tblMainQuery.id = tblName2.id
AND tblName2.StartDate = (SELECT Max(tblName3.StartDate)
FROM tblName tblName3
WHERE tblMainQuery.id = tblName3.id)))
tblMainQuery.id是一個場,這使得它的相關子查詢。所以總而言之,我想將這個整個查詢作爲一個子查詢來實現,其中我想檢索最近開始日期的id,但是由於最近的開始日期可能會返回多個記錄,下降到主鍵級別並檢索最高主鍵。
我知道使用CTE會有所幫助,但這是不可能的,因爲它必須通過Business Objects Web Intelligence執行 - 這不受支持。
這種方法使用更少的代碼,並且只有一個子查詢,所以在我所要求而言是正確的。不知道對執行時間有什麼影響,因爲它們似乎是相同的,但代碼少的幾乎總是一件好事,所以謝謝。 – cope 2014-10-21 09:12:32