无法绑定多部分标识符

时间:2016-07-07 08:45:47

标签: sql sql-server

我是SQL服务器的新手,我有一个如下所述的查询:

SELECT B.Column_Value FROM GN_ELIXIR_CONFIG A, (SELECT Column_Value FROM Fn_String_Split_As_Rows (A.CONFIG_VALUE, ',' )) B
 WHERE A.CONFIG_NAME = 'CUSTOMER_CONTROL'; 

A.CONFIG_VALUE将返回如下值:1000,2000,3000 ......

对于Oracle,我使用相同的查询,但略有改动:

SELECT B.COLUMN_VALUE FROM GN_ELIXIR_CONFIG A, TABLE(FN_STRING_SPLIT_AS_ROWS(A.CONFIG_VALUE, ',')) B WHERE A.CONFIG_NAME = 'CUSTOMER_CONTROL';

使用FN_STRING_SPLIT_AS_ROWS功能,可以得到正确的结果。但第一个查询显示以下错误:

The multi-part identifier "A.CONFIG_VALUE" could not be bound.

1 个答案:

答案 0 :(得分:0)

尝试在SQL Server中使用APPLY:

SELECT B.COLUMN_VALUE FROM GN_ELIXIR_CONFIG A 
CROSS APPLY FN_STRING_SPLIT_AS_ROWS(A.CONFIG_VALUE, ',')) B 
WHERE A.CONFIG_NAME = 'CUSTOMER_CONTROL';