我想知道是否有更好的方法在下面的例子中创建我的左连接
SELECT TOP 10 COALESCE(A.COD_PRODUCT, B.COD_PRODUCT),
              COALESCE(A.COD_FAMILY, B.COD_FAMILY),
              COALESCE(A.DATE_EXTRACT, B.DATE_EXTRACT),
              A.MASS
              B.VOLUME
              C.PRICE
FROM FIRSTTABLE A
FULL JOIN SECONDTABLE B
     ON B.COD_PRODUCT = A.COD_PRODUCT
     AND B.COD_FAMILY = A.COD_FAMILY
     AND B.DATE_EXTRACT = A.DATE_EXTRACT
LEFT JOIN THIRDTABLE C
     ON C.COD_PRODUCT = COALESCE(A.COD_PRODUCT, B.COD_PRODUCT)
     AND C.COD_FAMILY = COALESCE(A.COD_FAMILY, B.COD_FAMILY)
     AND C.DATE_EXTRACT = COALESCE(A.DATE_EXTRACT, B.DATE_EXTRACT)
这种关节需要很长时间,我怀疑它是非常昂贵和可以改进的
编辑:我想在视图中改进此SELECt FROM JOIN语句.
将执行计划与此替换连接进行比较:
LEFT JOIN THIRDTABLE C
     ON (C.COD_PRODUCT = A.COD_PRODUCT or C.COD_PRODUCT = B.COD_PRODUCT)
     AND (C.COD_FAMILY = A.COD_FAMILY or C.COD_FAMILY = B.COD_FAMILY)
     AND (C.DATE_EXTRACT =A.DATE_EXTRACT or C.DATE_EXTRACT = B.DATE_EXTRACT)
| 归档时间: | 
 | 
| 查看次数: | 131 次 | 
| 最近记录: |