菜鸟求助,SQL语法的问题.

lclw 2003-10-19 02:25:09
语句:

SELECT A.公司名称,B.名称,B.规格,B.品牌,B.单位,C.数量,C.单价,C.仓库,D.单号,D.操作员,D.日期
FROM 进货单 C inner JOIN 库存 B ON b.商品代号=C.商品代号 inner JOIN 进货项目 D ON D.单号=C.单号
INNER JOIN 厂商 A ON D.厂商代号=A.公司代号 WHERE B.名称='过滤器'


能正确执行,但在条件中如果使用变量应该如何修改语句?


DECLARE @B nvarchar(30)
SELECT @B="过滤器"
SELECT ..... WHERE B.名称=?B

是不正确的,我试了很多方法都不行,WHERE B.名称的后面不能去掉''.

...全文
52 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lclw 2003-10-19
  • 打赏
  • 举报
回复
谢谢各位
welyngj 2003-10-19
  • 打赏
  • 举报
回复
try:
DECLARE @B nvarchar(30)
SELECT @B='''过滤器'''
exec('SELECT ..... WHERE B.名称='+@B)
lclw 2003-10-19
  • 打赏
  • 举报
回复
还是不行,出错提示如下:

服务器: 消息 207,级别 16,状态 3,行 2
列名 '过滤器' 无效。
wzh1215 2003-10-19
  • 打赏
  • 举报
回复
DECLARE @B nvarchar(30)
SELECT @B='过滤器'
exec('SELECT ..... WHERE B.名称='''+@B+'''')
welyngj 2003-10-19
  • 打赏
  • 举报
回复
DECLARE @B nvarchar(30)
SELECT @B='过滤器'
exec('SELECT ..... WHERE [B.名称='+''@B'')
lclw 2003-10-19
  • 打赏
  • 举报
回复
在SQL的查询分析器里试过,还是不行.
welyngj 2003-10-19
  • 打赏
  • 举报
回复
DECLARE @B nvarchar(30)
SELECT @B='过滤器'
exec('SELECT ..... WHERE [B.名称='+'''@B''')
herewei 2003-10-19
  • 打赏
  • 举报
回复
如果是ASP程序的话,在' ' 里面加上"&变量名",就行了吧,好像是这样,

34,575

社区成员

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

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