例如,我尝试为区域的每个Zip代码运行一个查询 我有n个邮政编码,我必须为每一个运行查询,我尝试使用变量和选择,但是出现此错误,我可以每次更改邮政编码并运行它,但是大约300个邮政编码,所以我会花一整天的时间。
这是我的查询的一部分
----Declare Variable
Declare @Zip1 as int
Declare @Zip2 as Int
Declare @DistanceMax as numeric
Declare @DistanceMin as Numeric
set @Zip1 = (select distinct(zip_code) from zipcode
Where zip_code <>' ' )
-----@Zip1='85001'---If I do this way I have to run for every zipcode
我根据@ ZIP1的值运行查询 并且每次我使用select子句
运行时都会给出错误任何线索?
答案 0 :(得分:0)
正如我们在评论中所说: 您没有为@ Zip1获取单个值,但SQL-Server只需要一行。
解决方法是@Zip1
不是int而是表。
假设zip_code
是nvarchar:
DECLARE @Zip1 TABLE
(
zipid NVARCHAR(10)
)
INSERT INTO @Zip1
SELECT distinct zip_code from zipcode
Where zip_code <>' '
你可以像任何其他表一样调用@ Zip1:
SELECT zipid FROM @Zip1