动态sql问题 一个表A,有tabname,colname两个字段,很多条记录我需要从A中读取tabnam,colname作为我得where条件去查询相关内容请教这个sql怎么写?小弟刚用sql,请详细解答谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个表A,有tabname,colname两个字段,表中有很多条记录现在需要编写一个语句,以tabname的值作为编写语句得from条件,而colname的值作为where的条件请教这杨sql怎么写?比如表A,tabname表示表名,colname就是这个表的字段名称tabname colnametable1 col1table1 col2table2 col3table2 col4现在要写一条这样的sqlselect * from 'table1' where 'col1' is not null 类似这样的语句exec ('select * from '+@table1+' where ['+@col1+'] is not null') declare @tb table(tabname varchar(20),colname varchar(20))insert into @tb(tabname,colname)select 'sysobjects' ,'name'declare @sql varchar(1000)set @sql = (select ' select * from ' + tabname + ' where ' + colname + ' is not null ' from @tb)exec(@sql) 还有问题要请教下@sql 这个语句查询出来是个结果集exec提示服务器: 消息 512,级别 16,状态 1,行 2子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。怎么办? 400分真心求解 SQL语句写法的2种疑问 求SQL Server2000实时双机备份实际应用的最佳方案 2个关联表的字段快速赋值问题 求一SQL语句,谢谢!来者有分,谢谢! 大家帮我看看这个存储过程调用自定义函数哪错了呀? SQL Server中提取数字 有办法获得当前连接数据库的用户总数吗? 小弟初学数据库,请问MYSQL与MSSQL有区别咩,我用的是SQL2000,它与前两都有什么区别?? 请教怎样用SQL比对不同数据库中相同的表的数据(比差异) 如何用SQL Server表示出来时间,时间显示精确到分秒 请教个问题
现在需要编写一个语句,以tabname的值作为编写语句得from条件,而colname的值作为where的条件
请教这杨sql怎么写?
比如表A,tabname表示表名,colname就是这个表的字段名称
tabname colname
table1 col1
table1 col2
table2 col3
table2 col4
现在要写一条这样的sql
select * from 'table1' where 'col1' is not null
insert into @tb(tabname,colname)
select 'sysobjects' ,'name'declare @sql varchar(1000)
set @sql = (select ' select * from ' + tabname + ' where ' + colname + ' is not null ' from @tb)
exec(@sql)
@sql 这个语句查询出来是个结果集
exec提示
服务器: 消息 512,级别 16,状态 1,行 2
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
怎么办?