动态SQL拼接?

opl001 2010-12-21 01:14:21
由于项目设计,不能使用存储过程,需要拼接SQL(SELECT语句)
SQL 里面
现在表是按照天分表,格式是表名加和某固定一天相比多的天数
如 2010-10-1 到 2010-10-5 表是
A_151
A_152
A_153
A_154
A_155
...

如果查询1-3号的数据怎么拼接SQL,
...全文
114 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
siegebaoniu 2010-12-21
  • 打赏
  • 举报
回复
不用存储过程貌似无解?
opl001 2010-12-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 billpu 的回复:]
select * from tb where right(col,3) between 151 and 153
[/Quote]

这样试了不行, A_151 ... 是表名不是字段名
opl001 2010-12-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pt1314917 的回复:]
SQL code

declare @sql varchar(2000),@i int
set @sql=''
set @i=1
while(@i<=3)
begin
set @sql=@sql+'select * from a_15'+ltrim(@i)+';'
set @i=@i+1
end
exec(@sql)
[/Quote]

这样和过程查不多,
要在一个SELECE 语句内才可以,把这个语句传给报表
pt1314917 2010-12-21
  • 打赏
  • 举报
回复

declare @sql varchar(2000),@i int
set @sql=''
set @i=1
while(@i<=3)
begin
set @sql=@sql+'select * from a_15'+ltrim(@i)+';'
set @i=@i+1
end
exec(@sql)
billpu 2010-12-21
  • 打赏
  • 举报
回复
select * from tb where right(col,3) between 151 and 153

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧