我一直試圖讓這個工作,但我沒有得到任何地方。我需要的是以下內容:在SQL查詢中選擇除了最大記錄以外的所有記錄
我需要能夠爲特定表格選擇除MAX記錄以外的所有記錄。我知道如何選擇最大記錄(通過使用TOP或MAX),但我想顯示除此之外的所有內容。有沒有辦法做到這一點?我已經嘗試了下面的代碼,但我一直在獲取MAX記錄。
SELECT
rtrim(ltrim(pn.sFirstName + ' ' + pn.uLastName)) as newroom
FROM tenant t (nolock)
INNER JOIN room rm (NOLOCK) on t.hmyperson = rm.hmytenant
and isnull(rm.boccupant,0)=0
and rm.dtmoveout is null
INNER JOIN person pn (nolock) on pn.hmy = rm.hmyperson
WHERE pn.hmy <>
(SELECT TOP 1 pn.hmy
FROM tenant t (nolock)
INNER JOIN property p (nolock) on p.hMy = t.hProperty
INNER JOIN unit u (nolock) on (t.hUnit = u.hMy
INNER JOIN addr ua (nolock) on u.hmy = ua.hPointer
INNER JOIN room rm (NOLOCK) on t.hmyperson = rm.hmytenant
and isnull(rm.boccupant,0)=0
and rm.dtmoveout is null
and isnull(rm.dtMoveIn,getdate()) >= getdate()
INNER JOIN person pn (nolock) on pn.hmy = rm.hmyperson
WHERE t.code = '011212'
ORDER BY pn.hmy)
and t.code = '011212'
當我拉出記錄後,我想將MAX記錄合併到一個單獨的行中。
感謝您的任何幫助。
看看http://stackoverflow.com/questions/6751249/correlated-query-select-where-condition-not-maxcondition-in-inner-query – RandomUs1r 2013-03-06 17:09:25
要刪除一行,你可以使用'MINUS'或'SUBTRACT',具體取決於sql的味道。 – Glenn 2013-03-06 17:10:03