表值函数所用参数为关联表中值,不能查询?TKS!

KnitsEDI 2013-06-04 10:42:54
select b.job,b.gk,Weight from pca a
join ( select job,gk,Weight from dbo.funkk(a.job,a.gk) b on a.Job=b.job and a.GK=b.gk

是不是不能用关联表中的参数?
...全文
161 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
KnitsEDI 2013-06-04
  • 打赏
  • 举报
回复
兼容性要设为90可以了. 谢谢!
KevinLiu 2013-06-04
  • 打赏
  • 举报
回复
引用 5 楼 KnitsEDI 的回复:
select a.* from pcArrangeMain a cross apply dbo.funkk(a.job_no,a.gk_no) as b on a.Job_No=b.job_no and a.GK_No=b.gk_no 还是报语法错误,我用是SQL2008 R2
CREATE FUNCTION returntable (@objectname varchar(20)) RETURNS TABLE AS RETURN ( select * from sys.objects where name = @objectname ); GO select * from sys.objects cross apply dbo.returntable(name) 我写的例子
KnitsEDI 2013-06-04
  • 打赏
  • 举报
回复
select a.* from pcArrangeMain a cross apply dbo.funkk(a.job_no,a.gk_no) as b on a.Job_No=b.job_no and a.GK_No=b.gk_no 还是报语法错误,我用是SQL2008 R2
KevinLiu 2013-06-04
  • 打赏
  • 举报
回复
cross apply
引用 3 楼 KnitsEDI 的回复:
[quote=引用 2 楼 SmithLiu328 的回复:] select b.job,b.gk,Weight,dbo.funkk(a.job,a.gk from pca a
dbo.funkk为表值函数,返回的tbale[/quote] cross apply
KnitsEDI 2013-06-04
  • 打赏
  • 举报
回复
引用 2 楼 SmithLiu328 的回复:
select b.job,b.gk,Weight,dbo.funkk(a.job,a.gk from pca a
dbo.funkk为表值函数,返回的tbale
KevinLiu 2013-06-04
  • 打赏
  • 举报
回复
select b.job,b.gk,Weight,dbo.funkk(a.job,a.gk from pca a
BzTech_123 2013-06-04
  • 打赏
  • 举报
回复
用 CROSS APPLY 吧, 今天刚学了。
KevinLiu 2013-06-04
  • 打赏
  • 举报
回复
引用 7 楼 KnitsEDI 的回复:
兼容性要设为90可以了. 谢谢!
对的 2000是没有这个语法的。

34,590

社区成员

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

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