sql="select * from a where flag in (1,2)"
解决方案 »
- 从别人机器的sql的backup目录里考出的bak文件,可否添加到我机器里
- if 条件判断出错 插入临时表的问题
- 根据需求分析,求帮忙建立数据表。。。
- 求最优的多表查询`!
- 关于SQL SERVER复制的问题?
- SQL SERVER2000行转为列的难题!
- sql 查询问题。急急啊
- 请问MS SQL审计触发器与oracle中logminer工具的异同点???
- 救命:为什么我的企业管理器这么慢?
- 排序的大难题!高手请进!
- java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'TABLE1' 无效。
- 请问如何得到当前连接的spid对应的ip地址?多谢
因为你的flag是int型的
如果是varchar型的可以用你的那种写法
我的flag在a、b表中都是字符型的,如果我将b表的flag的值改为1,2反而没有结果
declare @flag varchar(100)
select @flag =flag from b where id=1 select * from a where charindex(cast(flag as varchar) ,@flag )>0
select @sql='select * from a where a.flag in ('+flag+')' from b where id=1
print @sql
exec(@sql)
select @sql='select * from a where a.flag in ('+flag+')' from b where id=1 这句中的('+flag+')'表达式在哪?
另:
那个是"'1','2'"作为一个字符串处理的---这个我知道,但是如果在B表中写成'1','2'为何也不成?
From a Join b On
(a.flag =b.flag) And (b.[id] =1)