这样的sql表值函数能用吗? 10

SELECTdbo.SAFE_EMP.姓名FROMdbo.f_split(dbo.safe_wxy.查隐患人,'|')ASf_split_1LEFTOUTERJOINdb... SELECT dbo.SAFE_EMP.姓名FROM dbo.f_split(dbo.safe_wxy.查隐患人, '|') AS f_split_1 LEFT OUTER JOIN dbo.SAFE_EMP ON f_split_1.col = dbo.SAFE_EMP.EMPNUMBER
以下为表值函数:
ALTER function [dbo].[f_split](@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin
while(charindex(@split,@c)<>0) begin insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) set @c = stuff(@c,1,charindex(@split,@c),'') end insert @t(col) values (@c) return end
展开
 我来答
匿名用户
2014-01-14
展开全部
你这种写法。 可能 SQL Server 要抱错了。
因为你的 表值函数的 参数, 是另外一个表的 某一列。
也就是 safe_wxy 表的 查隐患人 这一列。

而你的 From 表里面, 有没有 safe_wxy 表
追问
哈哈,就是报错,我就是想实现这种把另一个表的某个字段作为参数传递给那个表值函数,要怎么实现呢?
追答

不知道修改成这样, 还抱错不抱错了。

SELECT     
    dbo.SAFE_EMP.姓名
FROM
    dbo.safe_wxy 
        cross apply dbo.f_split(dbo.safe_wxy.查隐患人, '|') AS f_split_1 
        LEFT OUTER JOIN dbo.SAFE_EMP 
            ON f_split_1.col = dbo.SAFE_EMP.EMPNUMBER
szm341
2014-01-14 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5184万
展开全部
这是sqlserver的函数,你想问什么?你实际操作一下不就知道了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式