Sql server 2008 将表列传递给函数参数的SQL

Sql server 2008 将表列传递给函数参数的SQL,sql-server-2008,function,parameters,Sql Server 2008,Function,Parameters,我想用列表U.UbicacionF调用我的函数dbo.Split,但它不起作用!请你能帮我吗!!谢谢 SELECT EE.IDEstatus, EE.IDAsignacion,EE.IDUNIDAD, EE.IDEQUIPO,EE.ESTATUS,EE.bUltEstatus, A.IDDestino, U.UbicacionF, TI.Tiempo FROM mar_EstatusEquipo EE LEFT JOIN mar_Asigna

我想用列表U.UbicacionF调用我的函数dbo.Split,但它不起作用!请你能帮我吗!!谢谢

SELECT 
    EE.IDEstatus, EE.IDAsignacion,EE.IDUNIDAD, 
    EE.IDEQUIPO,EE.ESTATUS,EE.bUltEstatus, 
    A.IDDestino, U.UbicacionF, TI.Tiempo 
FROM 
    mar_EstatusEquipo EE 
LEFT JOIN 
    mar_Asignaciones A ON EE.IDAsignacion = A.IDAsignacion 
                       AND EE.IDUNIDAD = A.IDUNIDAD
LEFT JOIN 
    mar_TmpUbicaciones U ON EE.IDUNIDAD = U.IdUnidad AND U.IdUnidad = A.IDUNIDAD
LEFT JOIN 
    mar_TiemposArriboPto TI ON A.IDDestino = TI.Destino 
                            AND TI.Ubicacion LIKE '%' + (SELECT * 
                                                         FROM dbo.Split(U.UbicacionF, ',', '1')) + '%' 
WHERE 
    EE.IDEquipo = CAST(EE.IDUNIDAD AS CHAR)
    AND EE.Estatus IN ('IT','ET')
    AND A.IDDestino = 'MZO'
    AND EE.bUltEstatus = 1
    AND EE.IDUNIDAD = 255
ORDER BY
    EE.IDUNIDAD
可以使用运算符将列传递给这样的表值函数。在您的情况下,与其交叉应用,不如采用外部应用,以匹配当前的外部连接逻辑:

SELECT
    EE.IDEstatus, EE.IDAsignacion,EE.IDUNIDAD, 
    EE.IDEQUIPO,EE.ESTATUS,EE.bUltEstatus, 
    A.IDDestino, U.UbicacionF, TI.Tiempo 
FROM 
    dbo.mar_EstatusEquipo EE 
LEFT JOIN 
    dbo.mar_Asignaciones A ON EE.IDAsignacion = A.IDAsignacion 
                       AND EE.IDUNIDAD = A.IDUNIDAD
LEFT JOIN 
    dbo.mar_TmpUbicaciones U ON EE.IDUNIDAD = U.IdUnidad AND U.IdUnidad = A.IDUNIDAD
OUTER APPLY (
    SELECT t.Tiempo
    FROM
        dbo.mar_TiemposArriboPto AS t
    INNER JOIN
        dbo.Split(U.UbicacionF, ',', '1') AS s ON t.Ubicacion LIKE '%' + s.Value + '%'
) AS TI
WHERE 
    EE.IDEquipo = CAST(EE.IDUNIDAD AS CHAR)
    AND EE.Estatus IN ('IT','ET')
    AND A.IDDestino = 'MZO'
    AND EE.bUltEstatus = 1
    AND EE.IDUNIDAD = 255
ORDER BY
    EE.IDUNIDAD
;

尝试时出现的错误消息/问题是什么?它不起作用不是对问题的非常准确的描述。