如何查询某一字段值后根据该值去查表

chenzhechange 2010-08-29 06:26:27
现在有这样一张表
create table(
query_table_name varchar(100), /*保存要查表的名称*/
query_table_colunm varchar(100), /*保存要查表的字段*/
query_table_where (100) /*保存要查表的条件*/
);

如果有这么一条记录
query_table_name | query_table_colunm | query_table_where
Block | BlockId | BlockCode < 100

那么根据上面这条记录,就要查出Block表的BlockId字段,查询条件为BlockCode < 100,如何用SQL语句实现上面的功能。

谢谢各位大虾。
...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hao1hao2hao3 2010-08-29
  • 打赏
  • 举报
回复
多条记录可通过游标实现



declare @table varchar(100) ,@field varchar(100),@condition varchar(100)
declare mycur cursor
for
select query_table_name,query_table_colunm ,query_table_where
from tb
open mycur
fetch next from mycur into @table,@field,@condition
while @@fetch_status = 0
begin
declare @sql varchar(max)
set @sql = ''
set @sql = 'select '+@field +' from '+ @table+' where '+@condition
exec(@sql)
fetch next from mycur into @table,@field,@condition
end
close mycur
deallocate mycur

lijinnl 2010-08-29
  • 打赏
  • 举报
回复
支持楼上
xiaoxiao8372 2010-08-29
  • 打赏
  • 举报
回复
动态SQL,去实现!
百年树人 2010-08-29
  • 打赏
  • 举报
回复
try
declare @sql varchar(8000)
select
@sql=isnull(@sql,'')
+'select '+query_table_colunm+' from '+query_table_name+' where '+query_table_where
from
tb

exec (@sql)

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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