我是SQL新手,所以我需要您對查詢的幫助。基本上我有一個ZipCodes的數據庫,我想在選定ZipCode之前獲得3個項目,之後獲得3個項目。我想出的查詢是非常糟糕的...獲取項目之前和之後的項目 - SQL查詢
WITH numberedlogtable AS
(
SELECT *
FROM dbo.US
)
SELECT *
FROM numberedlogtable
WHERE ZipCode IN (SELECT ZipCode+i
FROM numberedlogtable
CROSS JOIN (SELECT -1 AS i UNION ALL SELECT 0 UNION ALL SELECT 1) n
WHERE ZipCode='91803')
我拿起了一個示例查詢從某處成功地轉換它爲我的使用。唯一的問題是這個查詢返回當前項目和下一個項目。相反,它應該返回前3個項目,當前項目和下3個項目。所選擇的前郵編
我認爲應該指出,除非郵政編碼保證是唯一的,否則下面的所有答案都會失敗。 – Jonatan