我是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.
答案 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';