首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server :在两个逗号分隔的值之间的字符串中添加一个字符

Server :在两个逗号分隔的值之间的字符串中添加一个字符
EN

Stack Overflow用户
提问于 2014-09-02 12:08:32
回答 2查看 511关注 0票数 0
代码语言:javascript
复制
declare @qry nvarchar(max)
set @qry='IType, INum, IDate, PO, FCode, Tx, Fr, TI, Not'

select @qry = 'select distinct ti.ID,' + @qry +
              ' from tblInfo ti inner join tblheadr th on ti.IA=1 AND ti.BId = ' +
              CAST(@BId as varchar) + ' AND th.CUId =' + CAST(@UserID as varchar)

现在我想要我的查询

代码语言:javascript
复制
select distinct 
    ti.ID, ti.IType, ti.INum, ti.IDate, ti.PO, ti.FCode, ti.Tx, ti.Fr, ti.TI, ti.Not 
from 
    tblInfo ti 
inner join 
    tblheadr th on ti.IA = 1 AND ti.BId = 285 and th.CUId = 2

我需要为'ti.'中的每个值添加@qry

你能建议我如何把它分开,在ti.之间加上@qry吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-02 15:23:01

下面是一个较短的解决方案:

代码语言:javascript
复制
SET @qry = 'IType, INum, IDate, PO, FCode, Tx, Fr, TI, [Not]'
SET @qry = 'ti.' + REPLACE(@qry, ', ', ', ti.')

您应该将Not放在方括号中,因为它是一个保留的SQL关键字。

票数 0
EN

Stack Overflow用户

发布于 2014-09-02 12:37:24

这应该是可行的:

代码语言:javascript
复制
select @qry =   
    'select distinct ti.ID,' 
    + replace(replace(replace(@qry, ', Not', ', [Not]'), @qry, 'ti.' + @qry), ', ',', ti.') 
    +' from tblInfo ti inner join tblheadr th on ti.IA=1 AND ti.BId = ' 
    + QUOTENAME(CAST(@BId as varchar(max)), '''') 
    + ' AND th.CUId =' 
    + QUOTENAME(CAST(@UserID as varchar(max)),'''')

您确实应该为varchar强制转换指定大小,还要注意not是一个需要转义的关键字,所以我添加了这个关键字。很可能还需要使用QUOTENAME将参数值括在引号中(我也添加了)。

得到的@qry变量如下:

代码语言:javascript
复制
select distinct 
  ti.ID,IType, ti.INum, ti.IDate, ti.PO, ti.FCode, ti.Tx, ti.Fr, ti.TI, ti.[Not] 
from tblInfo ti 
inner join tblheadr th on ti.IA=1 AND ti.BId = 'BidA' AND th.CUId ='UserA'

如果变量声明为:

代码语言:javascript
复制
declare @userid nvarchar(max) = 'UserA'
declare @bid nvarchar(max) = 'BidA'

附带说明:查看tblInfo和tblHeadr之间的联接,似乎没有连接条件,只有单独表上的条件(可能应该用WHERE子句编写)。也许你忘了加入th.? = ti.?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25623078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档