我有下面的 SQL 代码,它是在 Join 中引用内联 tablue 值函数的最干净的方法吗?它看起来有点难看,所以我不确定,在谷歌搜索时找不到任何东西。实际上还有很多这样的连接,这只是一个例子。
您可以为每个连接看到我的“(从 INlinefunction(参数)中选择 *)”。
该报告存在一些性能问题,因此我重新编写了一个标量函数来内联表值
谢谢
FROM table1 SAV
LEFT OUTER JOIN table2 REL
ON SAV.SBACCT = REL.RXACCT
LEFT OUTER JOIN table3 RMX
ON (SELECT * FROM dbo.udf_ITV_TrimLeadingZeros (REL.RMKEY)) = (SELECT * FROM dbo.udf_ITV_TrimLeadingZeros (RMX.RXKEY))
LEFT OUTER JOIN (SELECT SFACCT
FROM table4
WHERE SFAPPL = 'RM'
AND SFFNAM IN ( 'UF0015'))UDF
ON (SELECT * FROM dbo.udf_ITV_TrimLeadingZeros (RMX.RXKEY)) = (SELECT * FROM dbo.udf_ITV_TrimLeadingZeros (UDF.SFACCT))
WHERE SAV.SBACTP IN ( '275')
AND Isnull(UDF.SFACCT, 'X') = 'X'