首页 新闻 会员 周边 捐助

想弄个这样的查询(各位帮忙,谢谢!)

0
[已关闭问题]

就是想自定义查询的字段。定义一个变量,里面存储想要查询的字段。

思路就是这样。下面的sql是错误的就是想表达一下这种想法。望各位给出解决方案。

DECLARE @str text,
SET @str='ofParentId, ofId,ofLogin,ofPwd,ofName'
SELECT @str FROM OfficeInfo WHERE OfficeInfo

 

nyth的主页 nyth | 初学一级 | 园豆:154
提问于:2010-06-26 17:42
< >
分享
其他回答(1)
0

你这个想法是动态SQL了,需要拼SQL语句

declare @str nvarchar(3000)

set @str='SELECT ofParentId, ofId,ofLogin,ofPwd,ofName FROM OfficeInfo WHERE OfficeInfo'

EXECUTE sp_executesql @str

kyo-yo | 园豆:5587 (大侠五级) | 2010-06-26 19:06
0
DECLARE @str nvarchar(max)
SET @str='ofParentId, ofId,ofLogin,ofPwd,ofName'
declare @sql nvarchar(max)
set @sql='SELECT '+@str+' FROM OfficeInfo'
exec sys.sp_executesql @sql   

DECLARE @str nvarchar(max)
SET @str='ofParentId, ofId,ofLogin,ofPwd,ofName'
declare @sql nvarchar(max)
set @sql='SELECT '+@str+' FROM OfficeInfo'
exec sys.sp_executesql @sql
不知道符合你要求不 

leo刘 | 园豆:156 (初学一级) | 2010-06-27 11:52
先谢谢。 SELECT ofParentId,ofId,ofLogin,ofPwd,ofName FROM OfficeInfo WHERE OfficeInfo.ofId=4 写成这样 DECLARE @str varchar(200); SET @str='ofParentId,ofId,ofLogin,ofPwd,ofName' SELECT @str FROM OfficeInfo WHERE OfficeInfo.ofId=4 为啥就不行呢
支持(0) 反对(0) nyth | 园豆:154 (初学一级) | 2010-06-28 11:49
SELECT ofParentId,ofId,ofLogin,ofPwd,ofName FROM OfficeInfo WHERE OfficeInfo.ofId=4 写成这样 DECLARE @str varchar(200);第一句 SET @str='ofParentId,ofId,ofLogin,ofPwd,ofName';第二句 SELECT @str FROM OfficeInfo WHERE OfficeInfo.ofId=4第三句
支持(0) 反对(0) nyth | 园豆:154 (初学一级) | 2010-06-28 11:50
@nyth: SELECT @str FROM OfficeInfo WHERE OfficeInfo.ofId=4这句的意思就和select 1 from officeinfo 一样只是把数字换成了字符
支持(0) 反对(0) leo刘 | 园豆:156 (初学一级) | 2010-06-29 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册