Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 带参数的内连接函数_Sql_Tsql_Function - Fatal编程技术网

Sql 带参数的内连接函数

Sql 带参数的内连接函数,sql,tsql,function,Sql,Tsql,Function,有可能这样做吗 SELECT * FROM xcu JOIN fun_Blocked_Dates('2011-01-01', '2012-01-01', xcu.uid) bd ON bd.uid = xcu.uid 函数无法接受xcu.uid作为有效参数 我在“xcu”附近发现一个错误,语法不正确。也许这对您有用 SELECT * FROM xcu CROSS APPLY fun_Blocked_Dates('2011-01-01', '2012-01-01', xcu

有可能这样做吗

SELECT * 
  FROM xcu
  JOIN fun_Blocked_Dates('2011-01-01', '2012-01-01', xcu.uid) bd ON bd.uid = xcu.uid 
函数无法接受xcu.uid作为有效参数


我在“xcu”附近发现一个错误,语法不正确。

也许这对您有用

SELECT * 
  FROM xcu
  CROSS APPLY fun_Blocked_Dates('2011-01-01', '2012-01-01', xcu.uid)

不能将表中的字段用作联接中函数的参数。您需要使用交叉应用。

您想要的是,Sybase和SQL Server都使用TSQL-您使用的是哪种版本?也可能有助于查看函数代码。如果我想使用SELECT*FROM xcu,其中uid不在SELECT DISTICT uid FROM fun\u Blocked\u Dates'2011-01-01','2012-01-01',xcu.uid如何避免xcu.uid错误?我是否应该再次使用交叉应用,然后将xcu.uid重新用作参数?Thanks@John–我很难理解你真正想问什么。您将uid作为函数的参数。该函数将返回具有不同uid的行,包括传递给该函数的uid,并且您不希望xcu中的行具有与您作为参数提供的值相同的uid,而函数fun\u Blocked\u Dates中的行具有相同的uid?当使用交叉应用时,您应该将其视为xcu中的每一行都将用于执行函数。因此,如果在xcu中有3行,该函数将使用3个不同的xcu.uid作为参数执行3次。从xcu中选择*其中uid不在选择不同的bd.uid从选择xcu.uid作为tu交叉应用乐趣\u阻止\u日期'2011-01-01','2012-01-01',t.u作为BDU您能解释一下什么是tu吗?“t”附近的语法不正确。非常感谢您的帮助我想从xcu检索所有不在有趣的日期中的uid此函数根据传递的日期返回uid列表。我在这个函数中使用uid作为参数,因为我想过滤/减少返回的数据集并提高性能。Param作为xcu.uid传递。