我有一个包含“IN”子句的select语句:
SELECT *
FROM [database]
WHERE [variablename] IN (1..2..3..4..)
我的一些变量是一个字母,后跟一个按顺序排列的数字。例如,V1,V2,V3 ...... V30。
我想避免在语句中键入每个变量,有没有办法创建一个数组或列表,可以为我存储这30个变量,然后在查询中调用它们?或者按范围生成变量?
答案 0 :(得分:1)
将值放在表中(可以是临时表)并加入该表。
declare @i int = 0
while @i < 30
begin
insert into tableName (columnName)
select 'V' + cast(@i as varchar)
select @i = @i + 1
end
select *
from [database] a inner join [database] b on a.columnName = b.columnName