首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-07-01 
表值函数所用参数为关联表中值,不能查询?TKS!select b.job,b.gk,Weight from pca a join ( select job,gk,

表值函数所用参数为关联表中值,不能查询?TKS!
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

是不是不能用关联表中的参数?
[解决办法]
用 CROSS APPLY 吧, 今天刚学了。
[解决办法]
select b.job,b.gk,Weight,dbo.funkk(a.job,a.gk from pca a 
 
[解决办法]
cross apply

引用:
Quote: 引用:

select b.job,b.gk,Weight,dbo.funkk(a.job,a.gk from pca a 
 



dbo.funkk为表值函数,返回的tbale

cross apply
[解决办法]
引用:
  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)

我写的例子

热点排行