私の顧客には、各販売地域が郵便番号のリストで構成されている販売地域があります。 領域はかなり大きいですし、同じように簡単なフォーマットで保存することができますいくつかの郵便番号が連続しているかどうかを確認
地域は10012から00602と20020から私はに郵便番号のリストから取得できますか30020
に郵便番号の範囲で構成されていそのような郵便番号の範囲のリスト?
は
AreaCode StartZip EndZip -------------------- -------------------- ------------------------- Area1 00544 00602 Area2 00604 00604 Area2 00606 00606 Area3 00501 00604 Area3 00610 00612
SearchableZip
--This would be my list of all available zip codes in us:
CREATE TABLE [Zip](
[Zip] [nvarchar](20) ,
[State] [nvarchar](50) ,
)
--This would be the Sales Region List
CREATE TABLE [dbo].[SalesRegion](
[AreaCode] [nvarchar](50)
)
--This would be the original large list Zip Codes for the SalesRegions
CREATE TABLE [dbo].[EnteredZip](
[Zip] [nvarchar](20) ,
[AreaCode] [nvarchar](50)
)
--This is where I would like to store the Zip Code Ranges
CREATE TABLE [dbo].[SearchableZip](
[StartZip] [nvarchar](20) ,
[EndZip] [nvarchar](20) ,
[AreaCode] [nvarchar](50)
)
--Here is my sample Data:
--Some Zip Codes in US
insert into dbo.Zip (Zip,[State]) values ('00501' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00544' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00601' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00602' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00603' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00604' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00605' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00606' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00610' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00611' ,'PR')
insert into dbo.Zip (Zip,[State]) values ('00612' ,'PR')
--Some Sales Regions
Insert Into dbo.SalesRegion (AreaCode) values('Area1')
Insert Into dbo.SalesRegion (AreaCode) values('Area2')
Insert Into dbo.SalesRegion (AreaCode) values('Area3')
--The zip codes of the Sales Regions
insert Into EnteredZip (Zip,AreaCode) values ('00544' , 'Area1')
insert Into EnteredZip (Zip,AreaCode) values ('00601' , 'Area1')
insert Into EnteredZip (Zip,AreaCode) values ('00602' , 'Area1')
insert Into EnteredZip (Zip,AreaCode) values ('00604' , 'Area2')
insert Into EnteredZip (Zip,AreaCode) values ('00606' , 'Area2')
insert Into EnteredZip (Zip,AreaCode) values ('00501' , 'Area3')
insert Into EnteredZip (Zip,AreaCode) values ('00544' , 'Area3')
insert Into EnteredZip (Zip,AreaCode) values ('00601' , 'Area3')
insert Into EnteredZip (Zip,AreaCode) values ('00602' , 'Area3')
insert Into EnteredZip (Zip,AreaCode) values ('00603' , 'Area3')
insert Into EnteredZip (Zip,AreaCode) values ('00604' , 'Area3')
insert Into EnteredZip (Zip,AreaCode) values ('00610' , 'Area3')
insert Into EnteredZip (Zip,AreaCode) values ('00611' , 'Area3')
insert Into EnteredZip (Zip,AreaCode) values ('00612' , 'Area3')
は、テーブル内のこのエントリにつながる次のデータを考慮して、それには、SQLスクリプトでSearchableZipを作成することは可能ですか?私はまず
'into into EnteredZip ...'文は矛盾しています。それらはテーブルの宣言と一致せず、列の値の順序が間違っています。 –
パフォーマンスの問題がある場合は、これを解決する方法ではありません。質問を編集し、うまく機能しないクエリのクエリ実行計画を貼り付けます。それが立てば、ソリューションを推測しているように見えます。推測はうまくスケールされません。 –
あなたはそれについて正しいです。しかし、私はそれを試しなければなりません。それが悪い方法であっても(実際にはそうかもしれませんが) –