SQL如何把字符串赋值给变量,代替查询语句

例如这个查询语句,
(select Id from VideoType where tid in
(select Id from VideoType where tid in
(select Id from VideoType where tid in
(select Id from VideoType where tid in
(select id from VideoType where tid in(select id from VideoType where Title in('老人专区','幼儿专区')))))))
我能不能这样
string a="(select Id from VideoType where tid in";
然后查询语句就瘦身了变成
a
a
a
a
a "in(select id from VideoType where Title in('老人专区','幼儿专区')))))))"
请问该怎么实现?

declare @sql nvarchar(max);
set @sql = " select * from TableName";

exec ( @sql);追问

能详细点吗?怎么连接他们
这样吗?
declare @sql nvarchar(max);
set @sql = '(select Id from VideoType where tid in'
exec (@sql)+
exec(@sql)+(select id from VideoType where Title in('老人专区','幼儿专区')))))))))

能详细点吗?怎么连接他们
这样吗?
declare @sql nvarchar(max);
set @sql = '(select Id from VideoType where tid in'
exec (@sql)+
exec(@sql)+(select id from VideoType where Title in('老人专区','幼儿专区')))))))))

追答

1、先拼接完 @sql
2、最后调用  exec (@sql) ; 
--
不过,你得确保你写的sql没有问题

温馨提示:内容为网友见解,仅供参考
无其他回答

SQL如何把字符串赋值给变量,代替查询语句
set @sql = " select * from TableName";exec ( @sql);

PL\/SQL测试时是如何赋值到变量的
数据库赋值是通过 SELECT 语句来完成的,每次执行 SELECT 语句就赋值一次,变量名与列名一致。第一步,建表,插入数据:create table mytest(id number(3),name varchar2(20),age number(3));insert into mytest values(1,'one',18);insert into mytest values(2,'two',20);insert into myte...

如何把SQL中查询的字段赋给一个变量?
while(rs.hasNext()){ s = rs.next();} 不知道你看得懂不,需要对jdbc的编程有一定的了解,这也是jdbc中查询的一般用法。第二句的意思是执行这条SQL语句,返回给一个结果集rs,第三句是循环遍历这个结果集,并赋值给字符串s

SQL查询的最大值怎么赋给变量
sqlconnection con =new sqlconnection(链接字符串);con.open();sqldateAdapter sda=new sqldateAdapter("这里面写SQL语句",con);datatable dt=new datatable();sda.fill(dt);string abc=dt.row[0][0].tostring(); 这里abc就已经取到最大值了,你想显示在哪就把它赋值在哪就...

C#操作SQL数据库,怎么把查找出的结果赋给变量,需要参与计算的_百度知 ...
\/\/\/先定义一个变量给你使用 String StrShiyong="";SqlConnection conn = new SqlConnection("数据库连接字符串");String sqlstr="select TableName.C from TableName where TableName.ID=50";SqlCommand cmd = new SqlCommand(sqlstr, conn);conn.Open();SqlDataReader sdr = cmd.ExecuteReader(...

ORACLE语句,将字符串和变量拼起来的内容当字段名和表名
第一:pabsme_t_mindate 表里面有几个字段?如果就两个字段,那还好,如果有2个以上字段,写的语句不对:insert into pabsme_t_mindate select min(data_date),'sme.qq'||(select en_t_name from pabsme_vw_table where serial_number=t_number);第二:在select语句中,第二个查询字段...

SQL如何使用在函数中使用变量作为表名执行查询?
是不能这样写的,用动态语句的话,function好像又不支持,改用存储过程吧,如下 CREATE PROCEDURE PROC_SetBatchID table AS NVARCHAR(100),BatchID VARCHAR(11) OUTPUT AS BEGIN DECLARE @sql NVARCHAR(4000)SET NOCOUNT ON;SELECT @sql = N'IF (select Count(*) from ' + RTRIM(LTRIM(@table)...

SQL 使用字符串变量 给 整型变量赋值
select语句后面的from应该是表名,不该写变量名,如果要用变量名,就用exec(sql语句)在sql语句中可以用变量名 exec('select '+ @number +' = max(id) from '+ @表1)

在sql server中如何将获取日期和时间值赋值给一个变量
可用如下方法:declare @time datetime --定义变量select @time=getdate() --获取当前日期时间并赋值给变量print @time --输入打印变量内容执行结果:如果觉得显示不方便,可将时间类型的内容进行转换,存储过程写法可改为:declare @time varchar(20)select @time=convert(varchar(20),getdate(),120)...

如何在 SQL 中执行搜索和替换
接着,通过 LEN() 和 RIGHT() 函数分析产品名称,以便后续添加引号。然后,构造 SELECT 查询,将产品名称替换为包含引号的新字符串,或使用 CONCAT() 函数将各部分字符串连接起来。完成 SELECT 查询后,将它转换为 UPDATE 语句,确保只更新特定行,以降低意外影响。执行更新后,可以看到 products 表中的...

相似回答