私はSQLを初めて使用しているので、私はあなたの助けが必要です。基本的に私はZipCodeのデータベースを持っており、選択した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